Python / Turtleを使用して、次のような結果を達成しようとしています。
絵の具で不均一な正方形を描きましたが、それはそれらが均一であることを意味します。正方形は、ユーザー入力に応じて任意の形状にすることができます(たとえば、ポリゴンの場合は5)。
これまでの私のコードは次のとおりです。
import turtle
import time
import random
print ("This program draws shapes based on the number you enter in a uniform pattern.")
num_str = input("Enter the side number of the shape you want to draw: ")
if num_str.isdigit():
squares = int(num_str)
angle = 180 - 180*(squares-2)/squares
turtle.color(random.random(),random.random(), random.random())
turtle.begin_fill()
count = 0
x = -80
y = -80
turtle.setpos(x,y)
turtle.down()
while count < 8:
x += 50
y += 50
turtle.goto(x,y)
for i in range(squares):
count += 1
turtle.forward(20)
turtle.left(angle)
turtle.forward(20)
print (turtle.pos())
turtle.end_fill()
time.sleep(15)
turtle.bye()
そして、これが私が得るものです:
私が得るエラーは次のとおりです。カウント+=1 <8のため、ループによって8回繰り返されるのに、2つだけではなく、合計8つの形状を印刷するにはどうすればよいですか?
ループは毎回50、50を追加することで、xとyの位置を変更すると思いました。次に、ループを微調整して、目的の形状を作成するための正しい座標を指定しますが、まだ8つすべてが表示されませんか?
コードの再構成にしばらく時間を費やしましたが、試行錯誤を繰り返す代わりに、何らかの助けがうまくいくと思いました。
Python3.2.3を使用しています