Python:如何使两个相等的部分列表在for循环中只使用每个列表的第一部分?

Python:如何使两个相等的部分列表在for循环中只使用每个列表的第一部分?,python,python-3.x,list,Python,Python 3.x,List,我正在尝试创建3个同样小的同心形状(三角形),并使用for循环(使用海龟图形)使每个形状具有不同的颜色。到目前为止,我可以制作这些形状,但我在用不同的颜色填充它们时遇到了极大的困难。下面的代码是我到目前为止所做的。有人能帮忙解决颜色问题吗 lengths = [300, 200, 100] inner = ['red', 'dark blue', 'lime green'] for colouring in inner: begin_fill() fillcolor(colouring

我正在尝试创建3个同样小的同心形状(三角形),并使用for循环(使用海龟图形)使每个形状具有不同的颜色。到目前为止,我可以制作这些形状,但我在用不同的颜色填充它们时遇到了极大的困难。下面的代码是我到目前为止所做的。有人能帮忙解决颜色问题吗

lengths = [300, 200, 100]
inner = ['red', 'dark blue', 'lime green']

for colouring in inner:
  begin_fill()
  fillcolor(colouring)

for tri_length in lengths:
    penup()
    right(90)
    forward(tri_length * 0.57)
    pendown()
    left(150)
    forward(tri_length)
    left(120)
    forward(tri_length)
    left(120)
    forward(tri_length)
    penup()
    home()
hideturtle()
done()
所有文件:

import turtle

lengths = [300, 200, 100]
inner = ['red', 'dark blue', 'lime green']


for i in range(0, len(lengths)):
    turtle.begin_fill()
    turtle.color(inner[i])

    turtle.penup()
    turtle.right(90)
    turtle.forward(lengths[i] * 0.57)
    turtle.pendown()
    turtle.left(150)
    turtle.forward(lengths[i])
    turtle.left(120)
    turtle.forward(lengths[i])
    turtle.left(120)
    turtle.forward(lengths[i])
    turtle.penup()
    turtle.home()

turtle.hideturtle()
turtle.done()
编辑

import turtle

lengths = [300, 200, 100]
inner = ['red', 'dark blue', 'lime green']


for i, j in zip(lengths, inner):
    turtle.begin_fill()
    turtle.color(j)

    turtle.penup()
    turtle.right(90)
    turtle.forward(i * 0.57)
    turtle.pendown()
    turtle.left(150)
    turtle.forward(i)
    turtle.left(120)
    turtle.forward(i)
    turtle.left(120)
    turtle.forward(i)
    turtle.penup()
    turtle.home()

turtle.hideturtle()
turtle.done()
对于范围内的i(len(someseq)):someseq[i]
是Python中的反模式。Python提供了直接迭代、并行迭代(通过
zip
)和带索引的迭代(通过
enumerate
);在99.9%的情况下,您需要这三个选项中的一个,而不是在
范围内循环。