解决python turtle中在非IDLE环境下运行报错的一种方法 jupyter notebook环境

#解决python蟒蛇绘制实例中在非IDLE环境下运行报错的一种方法 jupyter notebook环境

​我在学习python蟒蛇绘制实例时,在使用jupyter notebook调用turtle库进行绘制时发现,代码只能运行一次,在关闭turtle窗口时python的程序会崩溃jupyter也会报错,在网上查找相关问题时发现了调用mainloop函数解决问题的方法,但在仔细阅读该解决方法时发现问题在turtle的说明文档中关于mainloop函数的说明如下

Must NOT be used if a script is run from within IDLE in -n mode (No subprocess) - for interactive use of turtle graphics.我对该段文字的理解和原博客作者的理解不一样,我认为官方文档的意思是一定不要在非IDLE环境中调用这个函数。于是在进一步的查询下发现另一解决方法,在一知乎回答中通过观察源代码发现关闭窗口报错是一个值设定为false的结果,该回答给出两种解决方法,一个是修改turtle的源代码,另一个是加一行命令将该值重设为true,我才用第二种方法对代码进行了改造,成功运行且多次操作无问题。

相关代码如下。

#PythonDraw.py
import turtle
turtle.TurtleScreen._RUNNING = True
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
    turtle.circle(40, 80)
    turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtl
阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPeterfinder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值