1

我正在创建一个简单的 python 程序,它将用户输入的值存储在一个数组中。程序最多会询问用户 8 次(可输入 8 条数据)。我需要程序在每次通过 while 循环时创建一个新数组。因此,如果 i = 1,并且每次循环通过时,它都会执行 i = i + 1,直到 i < 9。循环应该总共创建 8 个数组。下面是我一直在做的,代码很简单,你的见解会很有帮助。代码的上下文是一个简单的运动员性别表格。

i = 1
while i < 9:
    Question = input("Inputting data for Lane", i)
    Gender = input("Is the athlete male or female ")
    Athlete = input("What is the athletes name ")
    Dataset = ("Gender =", Gender , "Athlete = ", Athlete)
    Racer + i = []
    (Racer + i).append(Dataset)
    i = i + 1

最后几行肯定是错误的,但希望这可以让我了解我想要做什么。

4

2 回答 2

1

只需保留一个列表并继续向其附加列表。

datasets = []     

for i in range(0, 9):
    Question = input("Inputting data for Lane", i)
    Gender = input("Is the athlete male or female ")
    Athlete = input("What is the athletes name ")
    Dataset = ("Gender =", Gender , "Athlete = ", Athlete)

    datasets.append(Dataset)

甚至更好,使用一个功能 -

def get_dataset():
    Question = input("Inputting data for Lane", i)
    Gender = input("Is the athlete male or female ")
    Athlete = input("What is the athletes name ")

    return ("Gender =", Gender , "Athlete = ", Athlete)

datasets = [get_dataset() for _ in range(0, 9)]

PS:尝试使用 Pythonic 命名约定。

于 2018-05-02T09:03:06.050 回答
0

只需在 while 循环之前创建一个列表,然后在 while 循环结束时将数据附加到该列表中。这样,您最终将得到一个列表列表。

于 2018-05-02T09:04:40.870 回答