所以,我想在每次回圈運行時創建不同的物件,我的物件是 [name, age, dob] 它附加在一個空串列中
data = []
我正在使用類
class PersonsData(object):
# Object constructor
def __init__(self):
print("Person Data")
self.name = ''
self.age = 0
self.doB = 0
# Input Method
def enter_data(self):
size = int(input("Enter the number of data"))
for i in range(size):
self.name = str(input("Enter Your Name" " ").upper())
try:
self.age = int(input("Enter Your Age" " "))
except:
print("\n**Enter value in Number**")
self.age = int(input("Enter Your Age" " "))
self.doB = (input("Enter Your DOB" " "))
print("\n")
# Display Method
def display(self):
print("Name:", self.name)
print("Age:", self.age)
print("DOB:", self.doB)
問題是不是創建新物件,而是覆寫其他物件,所以我可以創建新物件
我的另一半代碼
while True:
print()
print("""
1.Add New Detail
2.Display Detail
3.Quit
""")
choice = int(input("Enter Choice:" " "))
if choice == 1:
info = PersonsData()
info.enter_data()
print(info.name)
data.append(info)
print(data)
elif choice == 2:
for i in data:
print("--------------------------------")
i.display()
print("--------------------------------")
elif choice == 3:
quit()
else:
print("Invalid choice")
uj5u.com熱心網友回復:
Fir of all 從enter_data個人資料內部移動 for 回圈到內部選擇 1,以便它開始根據輸入的大小創建個人資料物件
這樣它就會將您唯一的個人資料物件附加到資料串列中
這是更改后的正確代碼
data = []
class PersonsData(object):
# Object constructor
def __init__(self):
print("Person Data")
self.name = ''
self.age = 0
self.doB = 0
# Input Method
def enter_data(self):
self.name = str(input("Enter Your Name" " ").upper())
try:
self.age = int(input("Enter Your Age" " "))
except:
print("\n**Enter value in Number**")
self.age = int(input("Enter Your Age" " "))
self.doB = (input("Enter Your DOB" " "))
print("\n")
# Display Method
def display(self):
print("Name:", self.name)
print("Age:", self.age)
print("DOB:", self.doB)
while True:
print()
print("""
1.Add New Detail
2.Display Detail
3.Quit
""")
choice = int(input("Enter Choice:" " "))
if choice == 1:
size = int(input("Enter the number of data"))
for i in range(size):
info = PersonsData()
info.enter_data()
print(info.name)
data.append(info)
print(data)
elif choice == 2:
for i in data:
print("--------------------------------")
i.display()
print("--------------------------------")
elif choice == 3:
quit()
else:
print("Invalid choice")
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/402216.html
上一篇:無法從類中列印__str__
下一篇:從父類繼承回傳屬性錯誤
