Python 乌龟图形不显示,尽管代码已存在

Python 乌龟图形不显示,尽管代码已存在,python,turtle-graphics,Python,Turtle Graphics,我的代码如下,但尽管这应该可以工作,因为我按照我的教授的指示和他的,因为这是写的作品,它不在我的机器上。有什么我错过了海龟图形窗口甚至没有显示 这就是问题所在。海龟图形窗口不会出现,没有执行任何操作,我感到困惑 这是放在贝壳里的东西 >>> drawKoch(1) >>> 代码如下: def koch(n): if n == 0: return 'F' tmp = koch(n-1) return tmp +

我的代码如下,但尽管这应该可以工作,因为我按照我的教授的指示和他的,因为这是写的作品,它不在我的机器上。有什么我错过了海龟图形窗口甚至没有显示

这就是问题所在。海龟图形窗口不会出现,没有执行任何操作,我感到困惑

这是放在贝壳里的东西

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

根据,调用
bye
将关闭窗口

因此,您告诉Python要做的是:

  • 打开窗户
  • 把乌龟挪动一下
  • 关上窗户
  • 由于这些步骤运行得非常快,您甚至无法判断它们是否正在运行


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

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

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


    咯咯笑

    是的,但程序不需要先绘制程序,然后关闭窗口吗?我没有窗户开着。但是我会尝试删除s.bye()并发布我的结果。移动s.bye()仍然没有效果problem@ChristopherJakob删除
    s.bye()
    或将其替换为
    exitonclick
    对我很有效。我能看到这些动作。是的,就是这样,用exitonclick代替了bye。非常感谢。