我的代码在下面,但是这应该有效,因为我遵循我的教授指示和他的书面作品,它不在我的机器上。有没有我错过的龟图形窗口甚至没有显示?
这就是问题所在。乌龟图形窗口不会出现任何执行,我很困惑。
这是shell中的输出
>>> drawKoch(1)
>>>
以及以下代码:
def koch(n):
if n == 0:
return 'F'
tmp = koch(n-1)
return tmp + 'L' + tmp +'R' + tmp + 'L' + tmp
from turtle import Screen, Turtle
def drawKoch(n):
s = Screen()
t = Turtle()
directions = koch(1)
for move in directions:
if move == 'F':
t.forward (300/3**n)
if move == 'L':
t.lt(60)
if move == 'R':
t.rt(120)
s.bye()
答案 0 :(得分:0)
这是因为最后一行的s.bye()
。
根据documentation,调用bye
会关闭窗口。
所以你告诉Python要做的是:
由于这些步骤运行得非常快,您甚至无法判断它们是否正在运行。
要解决此问题,您可以将bye
替换为exitonclick
。
答案 1 :(得分:-1)
正如@satoru所说,我的问题是我正在使用s.bye(),它会在我看到任何事情发生之前关闭python窗口。
我需要使用并且目前正在使用的是s.exitonclick()
笑声