我必须编写一个程序来处理许多银行交易的文件。我们必须与程序一起使用的数据文件如下:文件的第一行表示银行帐户的数量。 如果第一行是'x' - 则下一个'x * 2'行是包含以下内容的数据对: • 银行帐号 •当前余额 我必须创建一个银行帐户对象并将它们放在一个列表中。在这些行之后是未知数量的交易数据“集合”。每笔交易包括: 交易类型(W,D,T或B) 帐号 量 sentinel值是“#”的事务类型。 这是我的代码到目前为止的样子:
class BankAccount:
def __init__(self, inputNum, inputAmount):
self.__acctNum = inputNum
self.__balance = inputAmount
self.__numDeposits = 0
self.__totalDeposits = 0
self.__numWithdrawals = 0
self.__totalWithdrawals = 0
def getAcctNum(self):
return self.__acctNum
def getBalance(self):
return self.__balance
def getNumDeposits(self):
return self.__numDeposits
def getNumWithdrawals(self):
return self.__numWithdrawals
def getTotalDeposits(self):
return self.__totalDeposits
def getTotalWithdrawals(self):
return self.__totalWithdrawals
def Deposit(self,amount):
self.__balance = self.__balance + amount
self.__numDeposits = self.__numDeposits + 1
self.__totalDeposits = self.__totalDeposits + amount
def Withdrawal(self,amount):
if (self.__balance >= amount):
self.__balance = self.__balance - amount
self.__numWithdrawals = self.__numWithdrawals + 1
self.__totalWithdrawals = self.__totalWithdrawals + amount
return True
else:
return False
def main():
list1 = []
num = eval(input())
for i in range(num):
account = input()
amount = eval(input())
bankAccount = BankAccount(account,amount)
list1.append(bankAccount)
print(list1[i].getBalance())
while(type != '#'):
if(type == 'D'):
account.deposit(amount)
elif(type == 'W'):
elif(type == 'T'):
elif(type == 'B'):
第一个问题:list1和num = eval(input())是在main函数之前进行的,还是像它一样好?第二个问题:type = eval(input())会去哪里?我猜它会在list1和num之后发生吗?另外,如果你能给我一些关于如何完成这个程序的建议或提示,我真的很感激!
答案 0 :(得分:3)
与C,java,C#等不同,实际上对主函数没有严格的要求。您实际上可以删除整个主功能块并将其写为简单的指令行。
如果您真的想拥有主要功能,但也可以将程序作为脚本运行,最后可以使用:
if __name__ == "__main__":
main()
所以第一个问题的答案是:无论如何你喜欢