Используя Цикл для добавления объектов к списку (Python)

Я пытаюсь использовать некоторое время цикл для добавления объектов к списку.

Вот в основном, что я хочу сделать:

class x:
     pass

choice = raw_input(pick what you want to do)

while(choice!=0):
    if(choice==1):
       Enter in info for the class:
       append object to list (A)
    if(choice==2):
       print out length of list(A)
    if(choice==0):
       break
    ((((other options))))

Я могу получить объект, добавленный к списку, но я упорно продолжен, как добавить несколько объектов к списку в цикле.

Вот код, который я имею до сих пор:

print "Welcome to the Student Management Program"

class Student:  
    def __init__ (self, name, age, gender, favclass):  
         self.name   = name  
         self.age    = age  
         self.gender = gender  
         self.fac = favclass  

choice = int(raw_input("Make a Choice: " ))

while (choice !=0):
    if (choice==1):  
        print("STUDENT")  
        namer = raw_input("Enter Name: ")  
        ager = raw_input("Enter Age: ")  
        sexer = raw_input("Enter Sex: ")  
        faver = raw_input("Enter Fav: ")      

    elif(choice==2):
        print "TESTING LINE"
    elif(choice==3):
        print(len(a))

    guess=int(raw_input("Make a Choice: "))

    s = Student(namer, ager, sexer, faver)
    a =[];
    a.append(s)

raw_input("Press enter to exit")

Любая справка значительно ценилась бы!

12
задан cizixs 3 May 2017 в 04:41
поделиться

1 ответ

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

while choice != 0:
    ...
    a = []
    a.append(s)

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

a = []
while choice != 0:
    ...
    a.append(s)
27
ответ дан 2 December 2019 в 05:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: