【发布时间】:2018-09-13 10:25:19
【问题描述】:
我正在尝试绘制 3 个矩形堆栈,其中每个堆栈由每个子列表中的第二个值表示的块数(6、2 和9)
from turtle import *
myList = [[1, 6], [2, 2],[3, 9]]
def rectangles(num_layers):
for x in myList:
num_layers = x[1]
pendown()
color('Black', 'Aquamarine')
begin_fill()
setheading(180)
forward(220)
setheading(90)
forward(50)
setheading(0)
forward(220)
setheading(270)
forward(50)
end_fill()
penup()
setheading(90)
forward(50)
for y in myList:
if y[0] == 1:
goto(0,0)
rectangles(myList)
elif y[0] == 2:
goto(300, 0)
rectangles(myList)
elif y[0] == 3:
goto(600, 0)
rectangles(myList)
但是,我得到 3 个 3 个堆栈,而不是分别 3 个 6、2 和 9 个堆栈。我的问题来自对列表和循环的理解缺乏理解。我需要我的函数从每个列表中获取第二个数字,并构建一个包含那么多矩形的堆栈,然后移动到下一个位置,读取下一个堆栈中有多少个并重复。
【问题讨论】:
标签: python list for-loop turtle-graphics