Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python编程。。坚持这个计划_Python - Fatal编程技术网

用Python编程。。坚持这个计划

用Python编程。。坚持这个计划,python,Python,我必须编写一个程序来处理许多银行交易的文件。我们必须与程序一起使用的数据文件如下:文件的第一行表示银行账户的数量。 如果第一行是“x”–那么接下来的“x*2”行是包含以下内容的数据对: •银行账号 •当前余额 我必须创建一个银行账户对象并将其放入列表中。在这些行之后是未知数量的事务数据“集合”。每笔交易包括: 交易类型(W、D、T或B) 帐号 数量 sentinel值是一种事务类型“#”。 到目前为止,我的代码是这样的: class BankAccount: def __init__(

我必须编写一个程序来处理许多银行交易的文件。我们必须与程序一起使用的数据文件如下:文件的第一行表示银行账户的数量。 如果第一行是“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())放在主函数之前,还是像它一样好?第二个问题:type=eval(input())会去哪里?我猜它会在列表1和num之后出现?另外,如果你能给我一些关于如何完成这个项目的建议或提示,我将非常感激

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

如果您真的想拥有主功能,但同时又想将程序作为脚本运行,那么您最终可以使用:

if __name__ == "__main__":
   main()
因此,您的第一个问题的答案是:不管您喜欢什么,与C、java、C等不同的是,实际上对主函数没有严格的需求。实际上,您可以删除整个主功能块,并将其作为简单的指令行写入

如果您真的想拥有主功能,但同时又想将程序作为脚本运行,那么您最终可以使用:

if __name__ == "__main__":
   main()

因此,你的第一个问题的答案是:不管你怎么想,不要把钱给任何允许评估用户输入的银行:)使用
float()
而不是
eval
不要把钱给任何允许评估用户输入的银行:)使用
float()
而不是
eval