您好我是python的新手,我试图用乌龟制作两种不同的形状。
import turtle
from turtle import
color('blue', 'red')
begin_fill()
while True:
turtle.fd(150)
turtle.left(144)
if abs(pos()) < 1:
break
end_fill()
done()
我有这个第一个有效地工作,但我试图围绕它做一个圆圈,但我似乎甚至不能制作一个,用这个:
color('blue', 'red')
begin_fill()
while True:
turtle.circle(555)
if abs(pos()) < 1:
break
end_fill()
done()
答案 0 :(得分:0)
你可以这样做。
import turtle
from turtle import *
color('blue', 'red')
begin_fill()
while True:
turtle.fd(150)
turtle.left(144)
if abs(pos()) < 1:
break
end_fill()
turtle.penup()
turtle.sety(25)
turtle.setx(-1.2)
turtle.right(90)
turtle.pendown()
turtle.circle(78)
done()
我认为我的计算错误了几位小数。但我想这应该会给你一个想法。
同样在您的代码中,我看到您使用了while循环来绘制圆圈。你的想法是正确的,你需要打破圆形图,但circle
函数会处理这个并在它到达起始位置后自动停止。注意我使用了circle函数而没有使用任何循环。
答案 1 :(得分:0)
意识到turtle.circle()
是一个常规的多边形绘制例程,我们可以更简单:
import turtle
turtle.color('blue', 'red')
turtle.begin_fill()
turtle.circle(79, extent=720, steps=5)
turtle.end_fill()
turtle.circle(79)
turtle.done()
或者,如果您想坚持使用当前的算法,我们可以这样做:
import turtle
turtle.color('blue', 'red')
turtle.begin_fill()
while True:
turtle.fd(150)
turtle.left(144)
if abs(turtle.pos()) < 1:
break
turtle.end_fill()
turtle.setheading(-69)
while True:
turtle.fd(8.25)
turtle.left(6)
if abs(turtle.pos()) < 1:
break
turtle.done()