我试着用Python中的turtle创建一个风筝,我画得很对,但是它没有填充所有四个部分的颜色。
这是我的代码:
import turtle
turtle.fillcolor('orange')
turtle.begin_fill()
turtle.goto(0,100)
turtle.goto(-100,0)
turtle.goto(0,0)
turtle.end_fill()
turtle.fillcolor('pink')
turtle.begin_fill()
turtle.goto(100,0)
turtle.goto(0,100)
turtle.goto(0,-100)
turtle.end_fill()
turtle.fillcolor('black')
turtle.begin_fill()
turtle.goto(-100,0)
turtle.goto(0,-100)
turtle.goto(100,0)
turtle.fillcolor('green')
turtle.begin_fill()
turtle.goto(0,-100)
turtle.goto(0,-150)
turtle.goto(0,-100)
turtle.end_fill()
turtle.fillcolor('yellow')
turtle.begin_fill()
turtle.goto(50,-150)
turtle.goto(-50,-150)
turtle.goto(0,-100)
turtle.end_fill()
turtle.done()
我如何修复它以获得正确的填充?
1条答案
按热度按时间9jyewag01#
除了缺少与
turtle.fillcolor('black')
关联的end_fill
之外,您的绘图是明智的,因为您已经通过移动到下一个起点来保存工作,但这会导致填充不完整。相反,请精确地确定每个填充形状的起点和终点。坚持在相同的位置开始和结束每个形状,以便完成填充,在本例中为(0,0)。例如:
现在,你可能会觉得这是重复的。100在代码中出现了很多次,每个三角形的绘制都遵循类似的逻辑。你可以使用一个循环并引入一个变量来节省工作量并泛化模式:
在泛化模式时,可以避免复制粘贴错误,例如忘记
turtle.fillcolor('black')
。其它方法也是可能的。