Pythonでturtleパッケージを使用して図を作成していますが、1つの問題を除いて、ある程度は成功しています。 turtleがコードにある図を生成すると、プログラムに「応答していません」と表示され、最終的にタスクを終了する必要があります。私はWindows7を使用しています。
これを経験したり、根本的な原因を知っている人はいますか? Pythonを完全に再インストールしようとしましたが、問題には影響しなかったようです。
応答に失敗するコードの例を次に示します。
import turtle
from turtle import forward, right, left
forward(50)
私は同じ問題を抱えていました(私はWin 7でも同じ問題を抱えていましたが、Win XPでも同じ問題が発生しました)、そして私はそれを理解しました。
終わったらturtle.done()
と言わなければなりません。
Pythonはタートルが完了したことを知らないので、おそらくタートルの別のコマンドを待っているので、これを知ったので、より理にかなっています。
これが私があなたが使っていると思うライブラリのドキュメント(Python 2.7)です。それは私がそれを理解した方法です。それはPython 2.7ですが、これもPython 2.5で動作します。
http://docs.python.org/library/turtle.html
それが役立つことを願っています(あなたやこれを読んでいる他の人にとって)、
アレックス
最後にexitonclickの呼び出しを追加するだけです。 TurtleクラスはTkinterを使用して実装され、exitonclick()
はmainloop()
を呼び出します。これにより、キャンバス内の任意の場所をクリックするまで、タートルウィンドウが開いたままになります。したがって、単純なプログラムは次のようになります。
from turtle import *
#make a square
for _ in range(4):
forward(100)
left(90)
exitonclick()
楽しい!
mainloop()
またはexitonclick()
またはdone()
、またはタートルウィンドウを終了するpython)を示すものを追加します
python 3.6.0を使用していますが、同じ問題が発生しました。コードブロックの後のturtle.done()
は、タートルグラフィックウィンドウが応答しなくなるのを防ぎます。
import turtle
for _ in range(5):
turtle.forward(100)
turtle.right(360/5)
turtle.done() # <------------
IDLEに問題があります。 pythonコマンドラインから実行すると機能します
私はあなたの問題に遭遇したことがあります、そしてそれから私は次のようにIDLEのショートカットを作成しようとします(「-n」を忘れないでください):
target:D:\Python27\Lib\idlelib\idle.pyw -n
そして、ショートカットでIDLEを起動し、年コードを入力してお楽しみください!FYI。
コードの最後に次の行を追加します。
wait_for_user()
それはあなたの問題を解決するはずです!
Python 3.4.3:でこれを修正する方法
>>> help(turtle.bye) Help on function bye in module turtle: bye() Shut the turtlegraphics window. Example: >>> bye()
turtle.done()を使用する場合、1回目は機能しますが、2回目は機能しません。
これを解決するには:
turtle.done()
try:
turtle.bye()
except turtle.Terminator:
pass
IDLEのコードを試しましたが、完全に機能しました。古い/遅いマシンはありますか?それは問題ではないと思いますが。最後に行を追加してみてください。
exitonclick()
カメが少し気質に見えるのと同じように。また、問題を解決または解決した回答を見つけた場合は、必ず賛成して回答(質問の近くの矢印アイコン)を受け入れてください。そうしないと、質問が未解決として表示され、引き続き回答が得られます。
-ハリー