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
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