我有一些海龟代码,我已经成功地运行之前,提请在西格宾斯基垫圈复制的Python和Turtle IDE,但是最近当我再次尝试运行它时,它成功地完成了所有的事情,除了一旦碰到for循环,Turtle就开始旋转,直到很久以后才执行for循环中的行。你知道吗
我已经在forloop中添加了一个print(I),它正在重复打印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)
当它到达右下角时,它应该只画剩下的外三角形的两条边。你知道吗
你的代码清理在我的电脑上运行得很好复制在Python控制台中:
尽管我在最后向tkinter的事件循环添加了一个传输,以防止窗口关闭,但您的原始代码在Python控制台中运行良好。你知道吗
相关问题 更多 >
编程相关推荐