オブジェクトをリストに追加するために、whileループを使用しようとしています。
これが私が基本的にやりたいことです:
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")
どんな助けでも大歓迎です!
問題は、各反復でリストを空のリストに再初期化していることです。
while choice != 0:
...
a = []
a.append(s)
初期化をループの上に移動して、1回だけ実行されるようにしてください。
a = []
while choice != 0:
...
a.append(s)
ループでのインデックスの自動インクリメント:
myArr[(len(myArr)+1)]={"key":"val"}