【问题标题】:How to do I connect my two modules within my Bank and Account classes?如何在我的银行和账户类中连接我的两个模块?
【发布时间】:2022-10-24 11:27:19
【问题描述】:

我是python的新手。我正在编写一个银行程序脚本。银行有明确的名称和地址。账户有定义的名字、姓氏和余额。

我正在通过尝试将资金从一个帐户转移到另一个帐户来测试代码。但是输入帐户后出现错误。我哪里做错了?

from account import Account


class Bank:
    name = ''
    address = ''
    all_accounts = {}

    def __init__(self, name, address):
        self.name = name
        self.name = address

    def create_account(self, firstname, lastname, balance):
        accounts = Account(firstname, lastname, balance)
        self.all_accounts[Account] = accounts

    def show_accounts(self, show_history=False):
        for account in self.all_accounts.items():
            print(account)


    def transfer(self, ac1, ac2, balance):
        if self.all_accounts[ac1].withdraw(balance):
            self.all_accounts[ac2].deposit(balance)

    def get_account(self, account_customers):
        return self.all_accounts[account_customers]
class Account:
    # firstname = ''
    # lastname = ''
    # balance = ''

    def __init__(self, firstname, lastname, balance=0):
        self.firstname = firstname
        self.lastname = lastname
        self.balance = balance

        self.number_of_deposits = 0
        self.number_of_withdraws = 0

        self.history = []

    def desc(self):
        print("Name is: ", self.firstname, self.lastname)
        print("Balance: ", self.balance)
        return True

    def deposit(self, value):
        self.balance += value
        self.history.append(value)
        self.number_of_deposits += 1
        return True

    def withdraw(self, value):
        if self.balance < value:
            print(f'{self.firstname, self.lastname} not enough money')
            return False

        self.balance -= value
        self.history.append(-value)
        self.number_of_withdraws += 1
        return True

    def transfer(self):
        answer = int(input("Enter amount of $ to transfer"))
        if answer < 0:
            print("Choose a value above $0")
        else:
            print("Your transfer was successful")
from account import Account
from bank import Bank

bank = Bank("Bank of Westeros", "1 Park Place, Westeros, GoT")

ac1 = bank.create_account("Carrot", "Top", 5000)
ac2 = bank.create_account("Dolly", "Parton", 10000)

【问题讨论】:

    标签: python function class module


    【解决方案1】:

    要将项目添加到列表中,请使用 .append 方法。你在create_account 的最后一行写的没有意义。代替:

    self.all_accounts[Account] = accounts
    

    有了这个:

    self.all_accounts.append(accounts)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 2020-10-26
      • 2017-03-21
      • 1970-01-01
      • 2021-09-24
      • 2019-08-22
      • 1970-01-01
      相关资源
      最近更新 更多