Цвета не заполняются в определенных местах - PullRequest
0 голосов
/ 25 апреля 2019

Я использую черепаху, чтобы сделать xmastree.Задача состоит в том, чтобы раскрасить отдельные кусочки.Часть кода «ствол» работает и будет заполняться правильно.Layer1 (), Layer2 () и Layer3 () не заполняются цветом, как следует.Любая помощь будет оценена.

Я просмотрел другие проблемы переполнения стека.Я переместил свои переменные.Еще ничего.

"" "Лабораторная работа 9 Упражнение 3 Автор: Джонатан Уитли

Определить функцию drawXmasTree (t, blc, scale = 1) Вы можете добавить дополнительные параметры, кроме первых трех, если хотите (примечание: задайте любые дополнительные параметры по умолчанию!). Ваше дерево должно напоминать три поля, наложенные зелеными треугольниками (содержащими цветные шарики или имена) поверх коричневого ствола. 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 голосов
/ 25 апреля 2019

Итак, при выполнении большего количества тестов, я, кажется, получаю положительные результаты, прерывая begin_fill () и end_fill из цикла for.Я не знаю, почему это работало в секции Trunk (), но это не работает в последующих секциях.

Пожалуйста, если вы найдете способ улучшить этот код, дайте мне знать.Я хотел бы узнать что-то и улучшить свое кодирование.

Спасибо.

...