3

私はこれらの正方形に色を塗りつぶそうとしています:

http://i.imgur.com/kRGgR.png

現在、カメはこれらの正方形の角だけを埋めており、正方形全体を埋めているわけではありません。

これが私のコードです:

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.up

x = 0 
y = 0
turtle.setpos(x,y)


numshapes = 8
for x in range(numshapes):
    turtle.color(random.random(),random.random(), random.random())
    x += 5
    y += 5
    turtle.forward(x)
    turtle.left(y)
    for i in range(squares):
        turtle.begin_fill()
        turtle.down()
        turtle.forward(40)
        turtle.left(angle)
        turtle.forward(40)
        print (turtle.pos())
        turtle.up()
        turtle.end_fill()

time.sleep(11)
turtle.bye()

運が悪かったので、いろいろな場所を移動してみましたturtle.begin_fill()end_fill()Python3.2.3を使用していただきありがとうございます。

4

4 に答える 4

7

私はタートルを実際に使用したことはありませんが、これはあなたがやりたいことのようです。これらの呼び出しの機能が間違っていると仮定した場合は、修正してください。

turtle.begin_fill() # Begin the fill process.
turtle.down() # "Pen" down?
for i in range(squares):  # For each edge of the shape
    turtle.forward(40) # Move forward 40 units
    turtle.left(angle) # Turn ready for the next edge
turtle.up() # Pen up
turtle.end_fill() # End fill.
于 2012-09-17T05:37:28.090 に答える
3

begin_fill()それぞれに対してとを使用して、一連の三角形を描画していますend_fill()。おそらくできることは、呼び出しを内側のループの外に移動することbegin_fill()ですend_fill()。そのため、完全な正方形を描いてから、それを埋めるように要求します。

于 2012-09-17T05:36:33.853 に答える
1

塗りつぶしを使用

t.begin_fill()
t.color("red")
for x in range(4):
    t.fd(100)
    t.rt(90)
t.end_fill()
于 2015-05-26T03:38:47.363 に答える