Python - Hypnotic turtle 使用嵌套的 for 循环和 If-else 来改变颜色

Python - Hypnotic turtle using nested for loops and If-else to change the color

for x in range(50):

    for l in range(4):
        turtle.pencolor(color)
        turtle.forward(L)
        turtle.right(90)
        turtle.forward(L)
        turtle.right(90)
        L = L+y

这段代码给了我一个只有一种颜色的催眠乌龟图案——红色。 如何在外循环中包含 if/else 语句以更改 'red'、'blue'、'brown'、'black' 之间的颜色?

仍然不确定你想要什么,但也许这就是你想要的。

colors = ['red', 'blue', 'brown', 'black']
for _, color in zip(range(50), itertools.cycle(colors)):
   for i in range(4):
       do_stuff(color)

如果不需要迭代计数器,外层循环可以改成itertools.islice(itertools.cycle(colors), 50)

要执行诸如更改颜色之类的操作,您需要使用模数学。如果你想在 4 种颜色之间交换,那么 x % 4 将按该顺序给出 0,1,2,3,因为它是 x 除以 4 时的余数。添加到每个索引都有颜色的列表将有它循环浏览这些值 ex:

colors = ["blue", "red", "yellow", "pink"]
for x in range(50):
    color = colors[x%4]

    for l in range(4):
        turtle.pencolor(color)
        turtle.forward(L)
        turtle.right(90)
        turtle.forward(L)
        turtle.right(90)
        L = L+y

另一种催眠-groovy方法:

for _ in range(50):

    for color in ['red', 'blue', 'brown', 'black']:

        turtle.pencolor(color)

        for _ in range(2):
            turtle.forward(L)
            turtle.right(90)

        L += y