【问题标题】:How to create a new array every time a while loop passes每次while循环通过时如何创建一个新数组
【发布时间】:2018-10-12 08:01:19
【问题描述】:

我正在创建一个简单的 python 程序,它将用户输入的值存储在一个数组中。程序最多会询问用户 8 次(可以输入 8 条数据)。我需要程序在每次通过 while 循环时创建一个新数组。因此,如果 i = 1,并且每次循环通过时,它都会执行 i = i + 1,直到 i

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

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

【问题讨论】:

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


【解决方案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 命名约定。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多