在Python中,如何在特定距离或坐标处停止海龟?
这是我试图让海龟在移动了近400像素后停止移动在Python中,如何在特定距离或坐标处停止海龟?,python,distance,turtle-graphics,coordinate,Python,Distance,Turtle Graphics,Coordinate,这是我试图让海龟在移动了近400像素后停止移动 def race(): while True: alex.forward(r_alex) a = a + r_alex if a > 399.9: break 这就是我得到的 Traceback (most recent call last): File "/Users/Jason/Desktop/Assignment1/a1_s3536647_bui_an
def race():
while True:
alex.forward(r_alex)
a = a + r_alex
if a > 399.9:
break
这就是我得到的
Traceback (most recent call last):
File "/Users/Jason/Desktop/Assignment1/a1_s3536647_bui_anh_quan.py", line 84, in <module>
race()
File "/Users/Jason/Desktop/Assignment1/a1_s3536647_bui_anh_quan.py", line 77, in race
a = a + r_alex
UnboundLocalError: local variable 'a' referenced before assignment
回溯(最近一次呼叫最后一次):
文件“/Users/Jason/Desktop/Assignment1/a1_s3536647_bui_anh_quan.py”,第84行,在
种族()
文件“/Users/Jason/Desktop/Assignment1/a1_s3536647_bui_anh_quan.py”,第77行,在race中
a=a+r\U
UnboundLocalError:赋值前引用的局部变量“a”
行a=a+r\u alex
在您实际定义a
之前使用a
我猜a
是海龟的位移,所以也许你应该尝试以下方法:
def race():
a = 0
while True:
alex.forward(r_alex)
a += r_alex
if a > 399.9:
break
更好的是:
def race():
a = 0
while(a > 399.9):
alex.forward(r_alex)
a += r_alex
非常感谢你!我现在明白问题了!