Я не могу получить аргумент в def, чтобы определить цвет, он выходит только черным - PullRequest
0 голосов
/ 22 апреля 2020

Пожалуйста, смотрите мой код ниже.

Когда он запускает все цветы, появляются черные.

Цветы создаются путем вызова функции flower и передачи нескольких аргументов, включая 3 названия цветов.

Должно быть, я что-то упускаю из виду, но я могу это понять, все цвета цветов получаются черными.

Очень хотелось бы немного

import turtle
import random

fred=turtle.Turtle()
fred.speed(100)

def flower(x,y,petal_num,petal_col,center_col,square_col):
    fred.penup()
    fred.goto(x,y)
    fred.pendown()

    fred.begin_fill()
    fred.color = str(petal_col)

    for petal in range (petal_num):
        for arc in range(2):
            fred.circle(80,100)
            fred.left(80)
        fred.left(360/petal_num)

    fred.end_fill()

    fred.begin_fill()
    fred.color = str(center_col)
    fred.penup()
    fred.goto(x,y-40)
    fred.pendown()
    fred.circle(40)
    fred.end_fill()

    fred.hideturtle()

    fred.penup()
    fred.goto(x,y)
    fred.pendown()

    fred.color = str(square_col)
    def square():
        for i in range (4):
            fred.forward(35)
            fred.right(90)

    for pattern in range(36):
        square()
        fred.right(10)

flower(-200,-200,5,"honeydew","c","lavenderblush")
flower(200,200,7,"skyblue","yellow","cyan")
flower(-200,200,6,"salmon","deepskyblue","lightpink")
flower(200,-200,8,"skyblue","yellow","cyan")
flower(0,0,4,"skyblue","yellow","cyan")

1 Ответ

0 голосов
/ 23 апреля 2020

Во-первых, переписайте эти настройки свойств пользователя:

fred.color = str(petal_col)
fred.color = str(center_col)
fred.color = str(square_col)

в вызовы методов черепахи:

fred.color(petal_col)
fred.color(center_col)
fred.color(square_col)

Во-вторых, измените аргумент "c" ниже:

flower(-200,-200,5,"honeydew","c","lavenderblush")

до фактического цвета:

flower(-200, -200, 5, "honeydew", "cyan", "lavenderblush")

и ваша программа должна зацвести.

...