我正在用乌龟做圣诞节树。任务是为各个零件着色。代码的“主体”部分可以正常使用。 Layer1(),Layer2()和Layer3()并未按原样填充颜色。任何帮助将不胜感激。
我已经研究了堆栈溢出的其他问题。我已经重新定位了变量。依然没有。
“”“实验9练习3 作者:乔纳森·惠特利(Jonathan Wheatley)
定义一个函数drawXmasTree(t,blc,scale = 1)如果需要,可以添加除前三个参数之外的其他参数(注意:给其他参数提供默认值!)。您的 树应类似于在棕色树干上的三个锉形,重叠的绿色三角形(包含彩色的球ornamets)。 blc和scale应该像前面的练习一样工作。以两种不同的比例显示结果。
“”“
from turtle import Turtle
scale = 1.25
def drawXmasTree():
a = trunk()
b = Layer1()
c = Layer2()
d = Layer3()
def trunk():
t = Turtle()
t.pencolor("brown")
t.fillcolor("brown")
t.shape("turtle")
t.up()
t.goto((scale * -100), (scale * -100))
t.down()
for count in range(2):
t.begin_fill()
t.forward(scale * 10)
t.left(90)
t.forward(scale *100)
t.left(90)
t.end_fill()
t.hideturtle()
def Layer1():
t = Turtle()
t.pencolor("green")
t.fillcolor("green")
t.shape("turtle")
t.up()
t.goto((scale * -150), 0)
t.down()
for count in range(3):
t.begin_fill()
t.forward(scale * 110)
t. left(120)
t.end_fill()
t.hideturtle()
def Layer2():
t = Turtle()
t.pencolor("green")
t.fillcolor("green")
t.shape("turtle")
t.up()
t.goto((scale * -147), 15)
t.down()
for count in range(3):
t.begin_fill()
t.forward(scale * 104)
t.left(120)
t.end_fill()
t.hideturtle()
def Layer3():
t = Turtle()
t.fillcolor("green")
t.pencolor("green")
t.shape("turtle")
t.up()
t.goto((scale * -145), 30)
t.down()
for count in range(3):
t.begin_fill()
t.forward(scale * 100)
t.left(120)
t.end_fill()
t.hideturtle()
def main():
u = drawXmasTree()
main()
运行代码时,应显示乌龟,画出正确的彩色线,然后填充形状。
答案 0 :(得分:0)
因此,在运行更多测试时,我似乎打破了for循环中的begin_fill()和end_fill获得了积极的结果。我不知道为什么这在Trunk()部分中起作用,但是在随后的部分中不起作用。
请,如果您找到一种使此代码更好的方法,请告诉我。我很想学习一些东西并改善编码。
谢谢。