python非常新。我有兴趣学习如何构建一个2D列表,其中每一行包含第一列中的对象编号,以及下一列中的属性。这将针对用户定义的尽可能多的对象完成。它看起来像这样:
Object1大重正方形
Object2小重轮
Object3小光轮
因此,如果用户说有八个对象,则循环会询问每个对象的对象编号,大小,重量和形状,并填充列表。任何帮助将不胜感激。感谢
答案 0 :(得分:0)
您已完成上一段中的大部分工作。有几种方法可以做到这一点:
for
循环:objects = []
for index in range(1, 9):
size = input("Size: ")
weight = input("Weight: ")
shape = input("Shape: ")
objects.append(["Object" + str(index), size, weight, shape])
for
循环:names = ["Size", "Weight", "Shape"]
objects = []
for index in range(1, 9):
object = ["Object" + str(index)]
for name in names:
object.append(input(name + ": "))
names = ["Size", "Weight", "Shape"]
objects = [
["Object" + str(index)] + [
input(name + ": ")
for name in names
] for index in range(1, 9)
]
您可以看到每个版本都基于最后一个版本。列表理解是建立列表的一种巧妙方式;你以前可能会或可能不会遇到它。