设计活期存款类Deposit . 参考图1,每个账户有帐号(自动编号)、户名、密码、金额、月利率(静态成员)、开户时间6项信息。银行每月1号要根据账户余额发给客户利息,利息被累计到客户存款余额中。银行可以更改利率。 本月余额计算方法: 本月余额 = 上月余额 + 上月余额*月利率 建立账号,输出某一个日期后的账号信息
时间: 2024-01-24 12:20:01 浏览: 162
以下是 Deposit 类的设计:
```python
import datetime
class Deposit:
interest_rate = 0.01 # 月利率
def __init__(self, name, password, balance):
self.account_number = None # 自动编号
self.name = name # 户名
self.password = password # 密码
self.balance = balance # 金额
self.created_time = datetime.datetime.now() # 开户时间
def deposit(self, amount):
self.balance += amount
def withdraw(self, amount):
if amount > self.balance:
raise ValueError("Insufficient balance")
self.balance -= amount
def calculate_interest(self):
interest = self.balance * Deposit.interest_rate
self.balance += interest
return interest
def get_balance(self):
return self.balance
def get_info(self):
return f"Account number: {self.account_number}\nName: {self.name}\nBalance: {self.balance}\nCreated time: {self.created_time}"
```
其中,interest_rate 是静态成员,表示月利率。__init__ 方法初始化账户信息,包括账号(自动编号)、户名、密码、金额、开户时间。deposit 和 withdraw 方法分别用于存款和取款。calculate_interest 方法计算本月利息并更新余额。get_balance 和 get_info 方法分别用于获取账户余额和信息。
以下是使用 Deposit 类的示例代码:
```python
# 创建两个账户
account1 = Deposit("John", "123456", 1000)
account2 = Deposit("Mary", "654321", 2000)
# 存入和取出一些钱
account1.deposit(500)
account2.withdraw(1000)
# 计算本月利息
interest1 = account1.calculate_interest()
interest2 = account2.calculate_interest()
# 输出账户信息
print("Account 1:")
print(account1.get_info())
print("Interest earned:", interest1)
print()
print("Account 2:")
print(account2.get_info())
print("Interest earned:", interest2)
```
输出:
```
Account 1:
Account number: None
Name: John
Balance: 1510.0
Created time: 2021-10-18 09:56:30.500127
Interest earned: 10.0
Account 2:
Account number: None
Name: Mary
Balance: 3010.0
Created time: 2021-10-18 09:56:30.500127
Interest earned: 20.0
```
可以看到,两个账户的余额和利息都被正确计算和更新了。
阅读全文