在某些地方没有填充颜色

时间:2019-04-24 22:37:35

标签: python-3.x turtle-graphics

我正在用乌龟做圣诞节树。任务是为各个零件着色。代码的“主体”部分可以正常使用。 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()

运行代码时,应显示乌龟,画出正确的彩色线,然后填充形状。

1 个答案:

答案 0 :(得分:0)

因此,在运行更多测试时,我似乎打破了for循环中的begin_fill()和end_fill获得了积极的结果。我不知道为什么这在Trunk()部分中起作用,但是在随后的部分中不起作用。

请,如果您找到一种使此代码更好的方法,请告诉我。我很想学习一些东西并改善编码。

谢谢。