第一个问题
当我偶然发现 turtle 模块时,我正在做 ThinkPython 2e 第 4 章案例研究:界面设计中的示例。
我使用 jupyter notebook 作为 IDE 来做练习。这是代码
import turtle
bob = turtle.Turtle()
当我运行上面的代码时,代码被执行但 Python Turtle Graphic 无法运行,状态为“未响应”
这也是一样的,虽然当我运行下面的命令时,内核在报错之前忙了一会儿
import turtle
bob = turtle.Turtle()
print(bob)
turtle.mainloop()
是什么导致了这个错误?
第二个问题
然后我尝试了下一个代码
bob.fd(100)
它只是卡住所以我不得不中断代码,这是错误
---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-7-a3ce06f254ac> in <module>
2 bob = turtle.Turtle()
3 print(bob)
----> 4 turtle.mainloop()
~\Anaconda3\lib\turtle.py in mainloop()
~\Anaconda3\lib\turtle.py in mainloop(self)
811
812 """
--> 813 TK.mainloop()
814
815 def textinput(self, title, prompt):
~\Anaconda3\lib\tkinter\__init__.py in mainloop(n)
558 def mainloop(n=0):
559 """Run the main loop of Tcl."""
--> 560 _default_root.tk.mainloop(n)
561
562 getint = int
KeyboardInterrupt:
我尝试过的
我试过引用这个话题
Turtle does not run more than once in jupyter notebook
最终让我回到这里
https://medium.com/@jiyuanli93/how-to-make-python-turtle-works-in-jupyter-notebook-6c506b9a973f
或在这里
一些信息:当我在 Anaconda 提示符下运行它时
$ jupyter nbextension install --py --symlink --sys-prefix ipyturtle
$ jupyter nbextension enable --py --sys-prefix ipyturtle
它产生了一些问题,但当我以管理员身份运行它们时运行完美(据说 validating: ok
)
任何帮助将不胜感激,我已经坚持了 2.5 小时
最佳答案
我遇到了和你一样的问题。
这对我有用。
将以下代码放入三个 Jupyter Notebook 单元格中:
单元格 1
import turtle
bob = turtle.Turtle()
print(bob)
单元格 2
for i in range(4):
bob.fd(100)
bob.lt(90)
单元格 3
turtle.mainloop()
然后一个一个地运行它。
我和你一样是菜鸟,但我认为正在发生的事情是代码 turtle.mainloop()
终止对象 bob,或类似的东西。你应该做的是在执行 turtle.mainloop()
之前执行所有像 bob.fd(100)
这样的 Action 。有道理吗?
关于python - 无法在 jupyter notebook 上运行 turtle(turtle 图形窗口无响应),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57839743/