2016-04-01 10 views
1

私の正方形の螺線描画プログラムの画面サイズを超える初期長さの適切な処理を追加する必要がありますが、画面サイズの長さです。私は、タートルグラフィックイラストレーターがスクリーンの真ん中で始まり、それがプログラムウィンドウの途中にあると仮定していると仮定しています。この場合、以下のコードが機能するはずです。画面サイズの長さを知る必要があります。線の描画とPythonの画面サイズによる制限タートルグラフィック

また、これはすべてのプラットフォームで普遍的に働く必要があり、wxのようなクロスプラットフォームを持たないと仮定します。

私がやって試してみました:

while startLength >(turtle.forward(turtle.window_width()/2): 
     startLength=float(input("please enter a value greater than zero: ")) 

は、しかし、それは私が300-350の間の長さを入力し、ウィンドウのサイズを超えています。さらに、最初の線の描画が終了し、90度回転して螺線の次の線(下方向)を描画すると、画面のサイズを超えます。私はここでimport turtle

を使用しています

は私のプログラムからの完全なコードです。

from turtle import * 
import turtle 
startLength = float(input("Please enter the length of first side: ")) 
while startLength < 0: 
    startLength=float(input("please enter a value greater than zero: ")) 
while startLength > (turtle.window_width()/2): 
    startLength=float(input("please enter a value that will fit in the window: ")) 
decrement = int(input("Please enter the change in length of side: ")) 
while startLength > decrement: 
    forward(startLength) 
    right(90) 
    startLength = startLength - decrement 
forward(startLength) 
right(90) 
+0

あなたが持っているコード全体を表示するだけで、それほど大したことはありません。スクリーンショットを質問に入れることもできます。 – roadrunner66

+0

ここに完全なコードのイメージがあります。 http://imgur.com/IZctg2i – ipconfig

+0

これは落胆するかもしれませんが、上記のコードスニペットのようにコードを画像として投稿しないでください。そうすれば、人々はただそれをコピーして問題をすばやく複製しようとすることができます。 – roadrunner66

答えて

0

開始点を中央から左上に移動するのが理想的ですが、中心から開始する方法は理想的です。 あなたのコードとの唯一の違いは、私は開始の長さを求めているだけです。 Python 2.xで使用されているraw_inputを無視し、括弧付きのprintステートメントにも同じことが適用されます。

import turtle 

bob = turtle.Turtle() 
xx,yy= turtle.window_width(), turtle.window_height() 
print 'window size: ',xx,yy 
bob.speed(15) 

stl=int(raw_input("Please enter length of first side: ")) 

while stl>turtle.window_width()/2: 
    stl=int(raw_input("Please enter a shorter length that will fit into the window: ")) 

dec=int(raw_input("Please enter the change in length per iteration: ")) 


while stl > dec: 
    bob.forward(stl) 
    bob.right(90) 
    stl= stl- dec 

turtle.done() 

テキスト出力:ウィンドウはこれまでより広くより背が高いことができれば

window size: 1280 1080 
Please enter length of first side: 4000 
Please enter a shorter length that will fit into the window: 3000 
Please enter a shorter length that will fit into the window: 2000 
Please enter a shorter length that will fit into the window: 1000 
Please enter a shorter length that will fit into the window: 500 
Please enter the change in length per iteration: 2 

enter image description here

また、あなたは、高さを確認することができます。

関連する問題