Вы увеличиваете v на единицу каждый раз, когда функция Wait () вызывается один раз .Похоже, вы хотите, чтобы это зациклилось?Это трудно понять.Это делает код на самом деле выполненным, но я не знаю, хотите ли вы, чтобы он это делал.
def Wait(v):
while True:
if v == Await:
Begin(A)
Wait(Await + .1)
if v == Bwait:
Begin(B)
Wait(Bwait + .1)
if v == Cwait:
Begin(C)
Wait(Cwait + .1)
if v == Dwait:
Begin(D)
Wait(Dwait + .1)
if v == Ewait:
Begin(E)
Wait(Ewait + .1)
if v == Fwait:
Begin(F)
Wait(Fwait + .1)
if v == Gwait:
Begin(G)
Wait(Gwait + .1)
if v == Hwait:
Begin(H)
Wait(Hwait + .1)
if v == Iwait:
Begin(I)
Wait(Iwait + .1)
if v == Jwait:
Begin(J)
Wait(Jwait + .1)
if v == Kwait:
Begin(K)
Wait(Kwait + .1)
if v == Lwait:
Begin(L)
Wait(Lwait + .1)
if v == Mwait:
Begin(M)
Wait(Mwait + .1)
if v == Nwait:
Begin(N)
Wait(Nwait + .1)
if v == Owait:
Begin(O)
v = v + .1
Независимо от того, что вы хотите, чтобы он делал.Посмотри на занятия.Вы создаете много повторяющихся данных.Классы похожи на шаблоны данных, которые вы можете легко использовать.Я переписал код для вас:
class Turtle:
def __init__(self, wait, turtle):
self.wait = wait
self.turtle = turtle
self.turtle.shapesize(.5)
self.v = 0
def Wait(self, time):
if self.v == 2:
return
self.Begin()
self.v += 1
self.Wait(self.v)
def Begin(self):
x = randint(-250,250)
self.turtle.shape('circle')
self.turtle.color('black')
self.turtle.penup()
self.turtle.right(90)
self.turtle.forward(260)
self.turtle.left(90)
self.turtle.forward(x)
self.turtle.left(90)
self.turtle.color('red')
self.turtle.speed(.5)
self.Float()
def Float(self):
w = 1
while w < 520:
self.turtle.forward(1)
self.turtle.left(90)
y = randint(-1,1)
self.turtle.forward(y)
self.turtle.right(90)
w = w + 1
turtles = []
prev_wait = 0
for x in range(20):
wait = randint(1,4)/2 + prev_wait
turtles.append(Turtle(wait, turtle.Turtle()))
prev_wait = wait
for turtle in turtles:
turtle.Wait(0)