У меня есть некоторый код Turtle, который я успешно выполнил раньше, чтобы нарисовать набивку Серпинского в Python Repl.it с Turtle IDE, но недавно, когда я попытался запустить его снова, он успешно делает все, кроме как только он попадает в цикл for, черепаха только начинает вращаться и не выполняет строки цикла for намного позже.
Я добавил print (i) в forloop, и он печатает 0 несколько раз, как если бы это был бесконечный цикл
import turtle
from turtle import *
t = Turtle()
t.speed(0)
t.shape('turtle')
t.color('dark green')
def SGRules(char):
if char == 'F':
return 'F+F-F-F+F'
else:
return char
def processStr(oldstr, Fractal_Rules):
newstr = ""
for char in oldstr:
newstr = newstr + Fractal_Rules(char)
return newstr
def createLSystem(iteration, axiom, Fractal_Rules):
startstr = axiom
endstr = ""
for i in range(iteration):
endstr = processStr(startstr, Fractal_Rules)
startstr = endstr
return endstr
def drawLSystem(aturtle, lsys, angle, length):
for cmd in lsys:
if cmd == 'F':
aturtle.forward(length)
elif cmd == '+':
aturtle.left(angle)
elif cmd == '-':
aturtle.right(angle)
sgstr = createLSystem(4, 'F', SGRules)
print(sgstr)
drawLSystem(t, sgstr, 120, 20)
for i in range(2):
print(i)
t.left(120)
t.forward(20 * 2**4)
Он должен просто нарисовать 2 стороны внешнего треугольника, как только он достигнет нижнего правого угла.