[英]Beginner trying Python Turtle module
我是一個初學者,只是想弄亂Python。 我使用 Turtle 模塊編寫了一些非常簡單的代碼,但我無法弄清楚為什么 GUI 在完成繪圖后立即關閉?
我已經嘗試過 turtle.getscreen()._root.mainloop() 和 sleep 命令(我的 cmd 無法識別),但無濟於事。 有什么想法嗎?
意識到這是一個微不足道的問題,但人們說理解事物的最佳方法是進入那里並做一些隨機的事情:)
代碼(從評論中提取):
from turtle import *
setup()
title("turtle test")
clear()
down()
forward(50)
right(90)
forward(50)
right(90)
forward(50)
right(90)
forward(500)
turtle.getscreen()._root.mainloop()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'turtle' is not defined
因為你做了from turtle import *
你沒有turtle.getscreen()._root.mainloop()
的turtle
模塊,產生上面的錯誤。
相反,請嘗試mainloop()
。
屏幕不應該“消失”——如果你正確地調用了 mainloop() 方法——但是,如果你的源代碼中存在語法錯誤,或者引發了其他 Python 異常,程序將立即完成。
如果不是單擊您的程序,而是從命令終端運行它,您將看到錯誤回溯。
將其發布在您的問題上(連同您的代碼,格式正確,您可以通過單擊問題上的“編輯”來完成),以便人們可以進一步幫助您。
(順便說一句,以您描述的方式調用 mainloop 方法對我有用)。
現在有一件事:內置的 Python Tkinter 烏龜主要是一個玩具,有趣的部分是在交互模式下與它一起玩,邊走邊輸入命令,而不是用它編寫腳本。 如果您想使用海龜模型進行一些嚴肅的藝術駕駛,您最好編寫自己的海龜。
像這樣修復它
from turtle import *
setup()
title("turtle test")
clear()
down()
forward(50)
right(90)
forward(50)
right(90)
forward(50)
right(90)
forward(500)
done()
我的答案是刪除 root,因為它沒有被分配,這是我的代碼嘗試一下:
from turtle import *
setup()
title("turtle test")
clear()
down()
forward(50)
right(90)
forward(50)
right(90)
forward(50)
right(90)
forward(500)
mainloop()
好的,這可能太多了,但是您可以使用 for 循環(重復一段時間的循環):
from turtle import *
setup()
title("turtle test")
clear()
down()
for i in range(3):
forward(50)
right(90)
forward(500)
mainloop()
Python 是一門很棒的語言,請考慮學習它!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.