0

我必须编写一个程序来处理许多银行交易的文件。我们必须在程序中使用的数据文件是这样的:文件的第一行表示银行账户的数量。如果第一行是“x”——那么接下来的“x*2”行是包含以下内容的数据对: • 银行帐号 • 当前余额 我必须创建一个银行账户对象并将它们放在一个列表中。在这些行之后是未知数量的交易数据“集”。每笔交易包括: 交易类型(W、D、T 或 B) 帐号 金额 标记值是“#”的交易类型。这是我的代码到目前为止的样子:

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 之后?另外,如果您能给我一些关于如何完成这个程序的建议或提示,我将不胜感激!

4

1 回答 1

3

与 C、java、C# 等不同,实际上对 main 函数没有严格的需求。您实际上可以删除整个主功能块并将其编写为简单的指令行。

如果您真的想拥有 main 功能,但也想将程序作为脚本运行,您可以在最后使用:

if __name__ == "__main__":
   main()

所以你的第一个问题的答案是:无论如何你喜欢

于 2013-05-03T20:31:42.780 回答