我正在创建一个简单的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
最后几行肯定是错误的,但希望这可以让我深入了解我想要做什么。
答案 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循环的末尾添加一个包含数据的新列表。这样您最终会得到一个列表列表。