此代码给了我这个错误。Python类问题
类银行:
线117,在银行
main()
在主
format(z, '10.2f'), format(bank.MakeWithdrawal(self,amount)))
AttributeError的
: '浮动' 对象没有属性 'MakeWithdrawal'
任何想法我哪里错了?
在此先感谢!
class Bank:
def __init__(self,incomingAcctNum,incomingBalance):
self.__acctNum = incomingAcctNum
self.__balance = incomingBalance
self.__totalDeposits = 0
self.__DepositCount = 0
self.__totalWithdrawals = 0
self.__WithdrawalCount = 0
def MakeDeposit(self,amount):
self.__balance = self.__balance + amount
self.__totalDeposits = self.__totalDeposits + amount
self.__DepositCount = self.__DepositCount + 1
def MakeWithdrawal(self,amount):
if (self.__balance >= amount):
self.__balance = self.__balance - amount
self.__totalDeposits = self.__totalDeposits + amount
self.__DepositCount = self.__DepositCount + 1
return True
else:
return False
def DisplayBalance(self):
self.__balance = self.__balance
self.__totalDeposits = self.__totalDeposits
self.__DepositCount = self.__DepositCount
def getAcctNum(self):
return self.__acctNum
def getBalance(self):
return self.__balance
def getTotalDeposits(self):
return self.__totalDeposits
def getDepositCount(self):
return self.__DepositCount
def getTotalWithdrawals(self):
return self.__totalWithdrawals
def getWithdrawalCount(self):
return self.__WithdrawalCount
def main():
a = input("Enter bank account ID #1: ")
b = eval(input("Enter balance for bank account #1: "))
c = input("Enter bank account ID #2: ")
d = eval(input("Enter balance for bank account #2: "))
infile = open("trans","r")
x = (infile.readline().strip())
y = (infile.readline().strip())
z = eval(infile.readline())
print()
print(format("Acct", '15s'), format("Trans Type", '20s'),
format("Amount", '15s'), format("Balance", '10s'))
print("------------------------------------------------------------")
while x != "X":
bank = (z)
if y == "W":
print(format(x, '15s'), format("Withdrawal", '15s'),
format(z, '10.2f'), format(bank.MakeWithdrawal()))
elif y == "D":
print(format(x, '15s'), format("Deposit", '15s'),
format(z, '10.2f'), format(bank.MakeDeposit(self,amount)))
else:
print(format(x, '15s'), format("Balance", '25s'),
format(bank.DisplayBalance(self)))
x = (infile.readline().strip())
y = (infile.readline().strip())
z = eval(infile.readline())
print("-------------------------------------------------------------")
print()
print(format("ABC123, Deposits: ", '15s'))
print(format("ABC123, Withdrawals: ", '15s'))
print(format("ABC123, Ending Balance: ", '20s'))
print()
print(format("DEF456, Deposits: ", '15s'))
print(format("DEF456, Withdrawals: ", '15s'))
print(format("DEF456, Ending Balance: ", '20s'))
main()
'银行'是一个浮动。 –
让银行参考考虑的班级。您正在为其分配一个浮点值,将其实例化 – Vinay
可能这条线是根本原因:z = eval(infile.readline()) –