尽管存在代码,但未显示Turtle图形

时间:2015-02-19 00:48:42

标签: python turtle-graphics

我的代码在下面,但是这应该有效,因为我遵循我的教授指示和他的书面作品,它不在我的机器上。有没有我错过的龟图形窗口甚至没有显示?

这就是问题所在。乌龟图形窗口不会出现任何执行,我很困惑。

这是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()

2 个答案:

答案 0 :(得分:0)

这是因为最后一行的s.bye()

根据documentation,调用bye会关闭窗口。

所以你告诉Python要做的是:

  1. 打开窗口
  2. 移动乌龟
  3. 关闭窗口
  4. 由于这些步骤运行得非常快,您甚至无法判断它们是否正在运行。

    要解决此问题,您可以将bye替换为exitonclick

答案 1 :(得分:-1)

正如@satoru所说,我的问题是我正在使用s.bye(),它会在我看到任何事情发生之前关闭python窗口。

我需要使用并且目前正在使用的是s.exitonclick()

笑声