2009-08-03 5 views
1

あなたが知らないのであれば、python turtleは人々がpythonを学ぶのを助けるアプリケーションです。 あなたはPythonインタプリタと画面上のカメを与えられ、あなたはPythonを使う方向を伝えることができます。誰もこの奇妙なpythonのカメ出現を説明することはできますか?

ゴー(10)が10度時計回りに

を向けるようになります10個のピクセル ターン(10)を移動するカメの原因になります今、この

alt text http://i28.tinypic.com/29bzoet.jpg

コードを見て:

import random 
while(1): 
    r = random.randint(1,10) 
    go (r) 
    r = random.randint(-90,90) 
    turn (r) 

誰でもこの動作を説明できますか?直線に注目してください。 pythons random moduleに問題がありますか?

+2

また、コードをテキストとして投稿することもできますか?画像は少し読みにくいです! :) –

+1

は、おそらく最初のカメの位置でもある*ランダム*(初期化されていない) –

+0

輸入ランダム しばらく(1): \t R = random.randint(1,10) \tゴー(R) \t R =ランダム。 randint(-90,90) \t turn(r) – Ryan

答えて

7

このような問題をデバッグするときは、実行するたびに各命令の値を印刷することをお勧めします。亀の環境には、画面上のあるウィンドウに値を印刷する方法があることを願っています。

while(1): 
    r = random.randint(1,10) 
    print "going:", r 
    go (r) 
    r = random.randint(-90, 90) 
    print "turning:", r 
    turn (r) 

この手法は、多くの名前で行くが、私は好きなものである:あなたはこのような何かを行う可能性があります「疑いで、より多くのを印刷するとき。」これを行うと、なぜあなたのカメがあなたの行動を見せているのか、いくつかの洞察が得られるでしょう。

+0

ソリッドデバッガを使用していても、これは最善の方法です。 – Skurmedel

0

値を印刷してみます。ここでこれを行い、あなたのコードスニペットに基づいて小さなPythonプログラムです:

import random 
while(1): 
    distance = random.randint(1,10) 
    angle = random.randint(-90, 90) 
    print distance, angle 

私はこれを自分で試してみました、そしてどの時点で角度が「立ち往生」ん。私はPythonカメにいくつかの種類のバグがあるかもしれないと思うが、その環境で試してみることなく、確かに言うのは難しい。

カメの現在の角度にパイソンのカメを求める方法はありますか?その値を印刷することもできます。

1

私はPythonTurtleの作成者です。

まず、私はStackOverflowで最初の質問を見ることに本当に光栄です。

あなたの質問について:私はコードを実行しようとしましたが、バグは発生しませんでしたが、これはランダム性を含んでいるため、コンピュータで起こったことを実際に再現することはできません。

これはバグのようですが、原因を突き止めることはできません。この種のバグが再び発生した場合、好ましくは乱雑さが関与していない場合は、スクリーンショットとコードスニペットを送っていただければ幸いです。私のメールは[email protected]です。

関連する問題