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

Turtle graphics not showing although code to do so is present

我的代码在下面,但是尽管这应该可以工作,因为我正在按照我的教授的指示进行操作,而他写的代码在我的机器上不起作用。乌龟图形 window 甚至没有显示,我错过了什么吗?

这就是问题所在。乌龟图形 window 不会出现 什么都没有执行,我很困惑。

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

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

根据 documentation,调用 bye 将关闭 window。

所以你告诉 Python 要做的是:

  1. 打开window
  2. 移动乌龟
  3. 关闭 window

由于这些步骤 运行 非常快,您甚至根本无法判断它们是否 运行ning。

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

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

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

咯咯笑