用Python编程..坚持这个程序

时间:2013-05-03 20:24:01

标签: python

我必须编写一个程序来处理许多银行交易的文件。我们必须与程序一起使用的数据文件如下:文件的第一行表示银行帐户的数量。 如果第一行是'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之后发生吗?另外,如果你能给我一些关于如何完成这个程序的建议或提示,我真的很感激!

1 个答案:

答案 0 :(得分:3)

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

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

if __name__ == "__main__":
   main()

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