面相对象编程,课后题
class Fish:def __init__(self):
self.x = r.randint(legal_x, legal_x)
self.y = r.randint(legal_y, legal_y)
def move(self):
# 随机计算方向并移动到新的位置(x, y)
new_x = self.x + r.choice()
new_y = self.y + r.choice()
# 检查移动后是否超出场景x轴边界
if new_x < legal_x:
self.x = legal_x - (new_x - legal_x)
elif new_x > legal_x:
self.x = legal_x - (new_x - legal_x)
else:
self.x = new_x
# 检查移动后是否超出场景y轴边界
if new_y < legal_y:
self.y = legal_y - (new_y - legal_y)
elif new_y > legal_y:
self.y = legal_y - (new_y - legal_y)
else:
self.y = new_y
# 返回移动后的新位置
return (self.x, self.y)
turtle = Turtle()
fish = []
for i in range(10):
new_fish = Fish() 这个小鱼的数量是一条一条被调用的吗?还是按照列表遍历的?
fish.append(new_fish)
小鱼是通过循环遍历一条一条生成的,每生成的小鱼都加入到new_fish中 但是i元素fori in range (10):
不应该是0-10吗?有点困惑 是不是i提供数量,然后再在new_fish中一条一条进 小马哥mfc 发表于 2021-3-21 13:04
但是i元素fori in range (10):
不应该是0-10吗?有点困惑
0-9,一共十个元素 小马哥mfc 发表于 2021-3-21 13:06
是不是i提供数量,然后再在new_fish中一条一条进
i只是个临时使用的变量,没有实质的意义,只是为了完成十次循环 对,发错了, 明白了,谢谢
页:
[1]