Класс BankAccount
не должен использоваться для сбора пользовательских данных для его создания; вам, вероятно, следует извлечь AddAccount
из класса и использовать его как фабричную функцию для создания класса:
Может быть, что-то вроде этого:
class BankAccount:
def __init__(self, FirstName, LastName, AccNum, Balance, CreationYear, CreationMonth, CreationDay):
self.FirstName = FirstName
self.LastName = LastName
self.AccNum = AccNum
self.Balance = Balance
self.CreationYear = CreationYear
self.CreationMonth = CreationMonth
self.CreationDay = CreationDay
def Deposit(self):
amount = input("How much do you want to Deposit? ")
self.Balance = str(float(amount) + float(self.Balance))
print("Balance: ", self.Balance)
return self.Balance
def Withdrawl(self):
amount = input("How much do you want to withdrawl? ")
if (float(amount) > float(self.Balance)):
print("Insufficent Balance.")
else:
self.Balance = str(float(self.Balance) - float(amount))
print("Balance: ", self.Balance)
return self.Balance
def AddAccount():
"""asks input data for the creation of a bank account,
returns the newly created bank account
"""
FirstName = input("First Name: ")
LastName = input("Last Name: ")
AccNum = input("Account Number: ")
Balance = input("Balance: ")
CreationYear = input("Creatin Year: ")
CreationMonth = input("Creation Month: ")
CreationDay = input("Creation Day: ")
return BankAccount(FirstName , LastName , AccNum , Balance , CreationYear , CreationMonth , CreationDay)
x = AddAccount()
В качестве альтернативы, вы можете инициализировать атрибуты None
или zero
, и иметь пользовательский ввод запроса класса; Тем не менее, наличие class BankAccount
обработки пользовательского ввода может быть не самым лучшим вариантом ...
class BankAccount:
def __init__(self):
self.FirstName = None
self.LastName = None
self.AccNum = None
self.Balance = 0
self.CreationYear = None
self.CreationMonth = None
self.CreationDay = None
def AddAccount(self):
self.FirstName = input("First Name: ")
self.LastName = input("Last Name: ")
self.AccNum = input("Account Number: ")
self.Balance = input("Balance: ")
self.CreationYear = input("Creatin Year: ")
self.CreationMonth = input("Creation Month: ")
self.CreationDay = input("Creation Day: ")
def Deposit(self):
amount = input("How much do you want to Deposit? ")
self.Balance = str(float(amount) + float(self.Balance))
print("Balance: ", self.Balance)
return self.Balance
def Withdrawl(self):
amount = input("How much do you want to withdrawl? ")
if (float(amount) > float(self.Balance)):
print("Insufficent Balance.")
else:
self.Balance = str(float(self.Balance) - float(amount))
print("Balance: ", self.Balance)
return self.Balance
x = BankAccount()
x.AddAccount()