-1

这是我的代码。我想编辑它并使星星的每一面都变成不同的颜色。所以星星的五个不同侧面意味着五种不同的颜色。

基本上,星星的每一面都有不同的颜色。我可以使用任何五种颜色。而且最好我想使用循环。我怎样才能做到这一点?

import turtle

def star(color, sides, length, angle, distance):
    galileo = turtle.Turtle()
    galileo.color(color)  # colorful!
    galileo.width(5)  # visible!
    galileo.speed(0)  # fast!
    galileo.penup()
    galileo.left(angle)  # away from center
    galileo.forward(distance)
    galileo.pendown()  # start drawing
    for side in range(sides):
        galileo.forward(length)
        galileo.left(720 / sides)
    galileo.hideturtle()  # just the star

for angle in [180, 135, 90, 45, 0]:
    star("red", 5, 50, angle, 100)

for angle in [180, 135, 90, 45, 0]:
    star("blue", 5, 30, angle, 60)

4

1 回答 1

0

您可以只在star()函数的 for 循环中设置颜色,而不是将其作为参数传递,例如

colors = ['red', 'green', 'yellow', 'blue', 'orange']
for side, color in zip(range(sides), colors):
    galileo.color(color)  

zip()需要两个迭代并将它们“压缩”在一起,所以zip([1,2,3], ['a', 'b', 'c'])变成[(1, 'a'), (2, 'b'), (3, 'c')]

于 2020-04-01T08:44:33.567 回答