【问题标题】:Re-open turtle after turtle.bye()在 turtle.bye() 之后重新打开海龟
【发布时间】:2017-05-29 19:48:41
【问题描述】:

我有一些代码如下:

# My code here

turtle.bye()

在那之后,有什么办法可以重新打开乌龟窗口。 我知道你可以这样做 turtle.clearscreen() 但这不会关闭海龟窗口。

我将接受任何允许我关闭海龟图形窗口然后重新打开它的答案,而无需打开并运行另一个 python 程序来执行此操作。

提前谢谢你

【问题讨论】:

    标签: python turtle-graphics


    【解决方案1】:

    我见过@LukeTimmons 的方法有效但并不总是可靠且并非在所有情况下都有效的情况。试试这个解决方案:

    import time
    import turtle
    
    turtle.dot(200, 'green')
    
    time.sleep(2)
    
    turtle.bye()
    
    # These two lines (indirectly) resurrect turtle environment after turtle.bye()
    turtle.Turtle._screen = None  # force recreation of singleton Screen object
    turtle.TurtleScreen._RUNNING = True  # only set upon TurtleScreen() definition
    
    turtle.dot(200, 'red')
    
    turtle.mainloop()
    

    它重置了两个阻止海龟重新启动的标志。重新启动后创建自己的海龟可能比使用可能指向已离开环境的默认海龟更安全。

    【讨论】:

      【解决方案2】:

      可能还有其他方法,但这是我知道的唯一方法。

      from turtle import *
      
      def turtle1():
          #Your code here
      
      turtle1()
      
      turtle.bye()
      
      turtle1()
      

      这应该会重新运行您的代码而无需重新输入。

      【讨论】:

      • 另外,根据您的import *turtle.bye() 应该只是 bye()
      • 可能是你使用的python版本。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-19
      • 2022-11-16
      • 1970-01-01
      • 2015-11-27
      • 2021-06-22
      • 2014-05-01
      • 2018-05-30
      相关资源
      最近更新 更多