我正在尝试使用Python Turtle生成一个特定的模式,但我遇到了问题。我已经创建了第一个三角形,但我不确定如何添加第二个三角形并着色它。
我需要它:http://gyazo.com/5abdd3bc05a44945f1a74286e2ad43c6
我目前拥有的内容:http://gyazo.com/65357ea5d43a7dc49e89879a27e980b4
到目前为止代码:
forward(200)
left(120)
forward(200)
left(120)
forward(200)
right(120)
done()
答案 0 :(得分:1)
这是一个例子
import turtle
def draw_square(turtle, length):
for i in range(4):
turtle.forward(length)
turtle.right(90)
def Retat_square(turtle, length,nbr):
for i in range(nbr):
draw_square(turtle, length)
turtle.right(360/nbr)
def main():
window = turtle.Screen()
window.bgcolor("blue")
上面是一个方法,它将绘制一个正方形,并在下面用turtle类
调用该方法s = turtle.Turtle()
s.shape("turtle")
s.color("yellow")
s.speed()
Retat_square(s,100,30)
我希望这会对你有所帮助
答案 1 :(得分:0)
以下是基于标记而非绘图的完整解决方案,这可能是解决某些海龟问题的更好方法:
import turtle
from operator import add
RED = (1.0, 0.0, 0.0)
GREEN = (0.0, 1.0, 0.0)
SUM = map(add, RED, GREEN)
TRIANGLE_SIZE = 200
BORDER_SIZE = 5
STAMP_UNIT = 20
SQRT_3 = 3 ** 0.5
turtle.shape("triangle")
turtle.hideturtle()
turtle.penup()
turtle.right(30) # realign triangle
turtle.fillcolor(RED)
turtle.shapesize(TRIANGLE_SIZE / STAMP_UNIT, TRIANGLE_SIZE / STAMP_UNIT, BORDER_SIZE)
turtle.stamp()
turtle.fillcolor(GREEN)
y_offset = TRIANGLE_SIZE * SQRT_3 / 4
turtle.goto(TRIANGLE_SIZE / 4, -y_offset)
turtle.stamp()
turtle.shapesize(TRIANGLE_SIZE / STAMP_UNIT / 2, TRIANGLE_SIZE / STAMP_UNIT / 2, BORDER_SIZE)
turtle.fillcolor(SUM)
turtle.sety(turtle.ycor() + 2 * y_offset / 3)
turtle.stamp()
turtle.exitonclick()
我将在回答the followup question to this question时讨论混色问题。
<强>输出强>