这是我的代码,我试图找出如何得到我的乌龟所走过的整个长度的总距离,我不知道如何计算它,而不把它从一个循环中取出来,我不能这样做,因为numsteps是一个输入。顺便说一下,这是给学校的
for a in range(numsteps):
s = randint(-100,100)
angle = random() * 2 * pi
x = s * cos(angle)
y = s * sin(angle)
walking.goto(x,y)
distance = sqrt(x ** 2 + y ** 2)
finald.goto(x,y)
print("The final distance is {:,.0f}".format(distance))
print("Your total distance traveled is {}")
您必须保存上一个位置,以计算从当前位置到它的距离
然后每次计算距离(接近回路末端)后,当前位置变为前一个位置:
请注意
__
而不是您的a
(或其他常规名称)-此特殊名称(一个或两个下划线字符)表示其值不符合我们的兴趣(因为我们只使用
range(numsteps)
作为计数器。)我会根据一些观察结果进行简化:
海龟已经知道距离函数了,不需要再重新设计它
当我们可以朝任何方向前进时,向后移动(负距离)是多余的,这与朝任何方向向前移动没有什么区别
我们可以更容易地计算我们已经移动了多远,而不是测量我们将移动多远
这导致代码更像:
输出
相关问题 更多 >
编程相关推荐