Как создать новый массив каждый раз, когда проходит цикл while - PullRequest
0 голосов
/ 02 мая 2018

Я создаю простую программу на Python, которая хранит значения, введенные пользователем в массиве. Программа спросит пользователя до 8 раз (можно ввести 8 частей данных). Мне нужна программа для создания нового массива каждый раз, когда он проходит через цикл while. Поэтому, если i = 1, и каждый раз, когда цикл проходит, он делает i = i + 1, пока i <9. Цикл должен создать всего 8 массивов. Ниже приведено то, над чем я работал, код очень прост, ваши идеи будут полезны. Контекст кода представляет собой простую гендерную форму спортсмена. </p>

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 голосов
/ 02 мая 2018

Просто создайте список перед циклом while, к которому вы затем добавляете новый список с данными в конце цикла while. Таким образом, вы получите список списков.

0 голосов
/ 02 мая 2018

Просто держите список и продолжайте добавлять к нему списки.

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.

...