设计一个银行账户类BankAccount,实现银行某账号的资金往来账目管理,包括开户、入账、 出账等。BankAccount 类包括,账号(BankAccountId) 、开户日期Date(日期),Rest (余额)。另有一个初始化方法和三个实例方法:bankin(处理入账),bankout(处理出账)和一个负责生成账号的自动增长的开户方法bankopen。
时间: 2024-04-01 07:38:02 浏览: 95
好的,我可以为您设计这个银行账户类BankAccount。以下是代码实现:
```python
import datetime
class BankAccount:
# 静态变量,用于自动增长账号
account_count = 0
def __init__(self, balance=0):
self.bank_account_id = BankAccount.account_count + 1
self.date = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
self.balance = balance
BankAccount.account_count += 1
def bankopen(self):
# 自动增长账号
self.bank_account_id = BankAccount.account_count + 1
self.date = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
self.balance = 0
BankAccount.account_count += 1
print("账号 {} 开户成功!".format(self.bank_account_id))
def bankin(self, amount):
# 入账
self.balance += amount
print("账号 {} 入账成功,当前余额为 {} 元。".format(self.bank_account_id, self.balance))
def bankout(self, amount):
# 出账
if self.balance < amount:
print("账号 {} 出账失败,余额不足。".format(self.bank_account_id))
else:
self.balance -= amount
print("账号 {} 出账成功,当前余额为 {} 元。".format(self.bank_account_id, self.balance))
```
您可以通过以下代码来测试 BankAccount 类:
```python
# 创建一个账户
account1 = BankAccount()
account1.bankopen()
# 入账
account1.bankin(1000)
# 出账
account1.bankout(500)
account1.bankout(600)
```
输出结果如下:
```
账号 1 开户成功!
账号 1 入账成功,当前余额为 1000 元。
账号 1 出账成功,当前余额为 500 元。
账号 1 出账失败,余额不足。
```
阅读全文