我是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)
uj5u.com熱心網友回復:
要將專案添加到串列中,請使用.append方法。你在最后一行寫的create_account沒有意義。代替:
self.all_accounts[Account] = accounts
有了這個:
self.all_accounts.append(accounts)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/519567.html
標籤:Python功能班级模块
下一篇:從函式到函式的變數
