填充python中的嵌套数组



我的任务是制作带有城市坐标的嵌套数组。我试着写代码,但它不起作用。你能帮我吗?

i = 0
cities = []
count_of_cities = int(input("How many cities do you want?"))
while i < count_of_cities:
x = 0
coordinate_x = int(input("Coordinate x for city is: "))
coordinate_y = int(input("Coordinate y for city is: "))
cities[i][x].append(coordinate_x)
x += 1
cities[i][x].append(coordinate_y)
i += 1
print(cities)

中存在问题

cities[i][x].append(coordinate_x)

例如,在第一次迭代中,您试图追加到cities[0][0],但此时它不存在(应该抛出IndexError(,因为列表cities为空。我建议你做:

i = 0
cities = []
count_of_cities = int(input("How many cities do you want?"))
while i < count_of_cities:
coordinate_x = int(input("Coordinate x for city is: "))
coordinate_y = int(input("Coordinate y for city is: "))
cities.append([coordinate_x, coordinate_y])
i += 1
print(cities)

您只需将列表附加到城市,使用for循环是更好的

cities = []
count_of_cities = int(input("How many cities do you want?"))
for _ in range(count_of_cities):
coordinate_x = int(input("Coordinate x for city is: "))
coordinate_y = int(input("Coordinate y for city is: "))
cities.append([coordinate_x, coordinate_y])

print(cities)
How many cities do you want?2
Coordinate x for city is: 2
Coordinate y for city is: 2
Coordinate x for city is: 3
Coordinate y for city is: 3
[[2, 2], [3, 3]]

最新更新