每次while循环传递时如何创建新数组

时间:2018-05-02 09:00:14

标签: python arrays python-3.x while-loop

我正在创建一个简单的python程序,用于将用户输入的值存储在数组中。该程序最多会询问用户8次(可输入8个数据)。我需要程序在每次通过while循环时创建一个新数组。因此,如果i = 1,并且每次循环通过它,则i = i + 1,直到i <1。 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

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

2 个答案:

答案 0 :(得分: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命名约定。

答案 1 :(得分:0)

只需在while循环之前创建一个列表,然后在while循环的末尾添加一个包含数据的新列表。这样您最终会得到一个列表列表。