Итак, в приведенном ниже коде я пытаюсь дать меню инструкций. У меня возникают проблемы с командой команды «N», которая вызывает функцию MakeTurtle(). Я пытаюсь добавить всех черепах в список (дети []), поэтому, когда я перебираю список, он заставляет всех черепах двигаться одновременно. Проблема в том, что я могу заставить одну черепаху двигаться (первая, которую я создаю). Раньше я был в состоянии заставить их всех двигаться, но он перестанет работать, если я сделаю новый. Может ли кто-нибудь помочь?Перемещение объектов в виде списка
home = makeWorld()
children = []
def MakeTurtle():
newborn = makeTurtle(home)
children.append(newborn)
return newborn
def RoamingTurtles():
command = raw_input("---> ")
if command == 'N':
MakeTurtle()
RoamingTurtles()
if command == 'R':
for i in children:
i.turn(90)
RoamingTurtles()
if command == 'L':
for i in children:
i.turn(-90)
RoamingTurtles()
if command == 'M':
for i in children:
i.forward()
RoamingTurtles()
if command == 'Q':
print 'End'
Я думаю, что это правильный диагноз проблемы, но я хотел бы предложить 'время цикла true' в качестве альтернативы рекурсия. – Blckknght
Определенно, я согласен с @Blckknght, цикл «while» - это гораздо лучший вариант в этой ситуации. –
Если бы я мог поцеловать тебя, я бы это сделал. И я волосатый, так что это было бы неплохо! Но спасибо. – Danrex