2012-01-21 61 views
0

我是一個剛剛嘗試使用Python的初學者。我使用Turtle模塊編寫了一些非常簡單的代碼,但是我無法弄清楚爲什麼GUI在完成繪製後立即關閉?我試過turtle.getscreen()._root.mainloop(),和睡眠命令(我的cmd無法識別),但無濟於事。有什麼想法嗎?初學者嘗試使用Python龜模塊

意識到這是一個微不足道的問題,但有人說,瞭解事情的最好辦法是在那裏得到的,做隨機的東西:)

代碼(從評論中提取):

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

是的。發佈您的代碼。 :)如果你沒有告訴我們你在做什麼,我們不可能告訴你你做錯了什麼。 「我正在做點什麼,而且不像我期望的那樣工作,我該如何解決它?」 - 你有基於該信息的答案嗎?請編輯你的帖子,並提供一些可能允許某人看到你做錯的細節(或不做你應該做的)。謝謝。 :) –

+0

從龜進口* 設置() 標題( 「龜測試」) 明確() 向下() 前(50) 權(90) 前(50) 權(90) 前進(50) right(90) forward(500) turtle.getscreen()._ root.mainloop() – user1070381

+0

請編輯您的問題並在其中添加代碼。格式化和閱讀評論很困難。 –

回答

1

的屏幕不應該「消失」 - 如果正確調用mainloop()方法 - 但是,如果源代碼中存在語法錯誤,或者引發了其他Python異常,程序將立即結束。

如果不是點擊您的程序,而是從命令終端運行它,您將看到錯誤追溯。

把它放在你的問題上(連同你的代碼,正確的格式化,你可以通過點擊問題上的「編輯」來完成),這樣人們可以進一步幫助你。 (順便說一下,以你描述的方式調用mainloop方法對我很有用)。

現在有一件事:內置的Python Tkinter烏龜主要是一個玩具,有趣的部分是在交互模式下隨它一起玩,隨時隨地輸入命令,而不是用腳本寫它。如果你想用烏龜模型駕駛一些嚴肅的藝術,你最好寫自己的烏龜。

+0

+1:但最後一段不在基地。這裏至少有[7種方式可以使用烏龜](http://python-turtle-demo.googlecode.com/files/SevenWaysToUseTurtle-PyCon2009.pdf)。請參閱http://code.google.com/p/python-turtle-demo/ – jfs

+0

Ahh..it已在Python 2.6中重寫,現在可用於通用目的。謝謝@ J.F.Sebastian – jsbueno

2
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'turtle' is not defined 

因爲你做了from turtle import *你沒有一個turtle模塊turtle.getscreen()._root.mainloop(),產生上述錯誤。

請改爲嘗試mainloop()

0

修復它像這樣

from turtle import *

setup()

title("turtle test")

clear()

down()

forward(50)

right(90)

forward(50)

right(90)

forward(50)

right(90)

forward(500)

done()