设计和实现一个名为 Account 的类,其中包含: 帐户的名为 id 的整数数据字段。 帐户的名为余额的双精度数据字段。 名为“年利率”的双精度数据字段,用于存储当前利率。 一个无参数构造函数,用于创建 id 为 0、余额为 0 且年利率为 0 的默认帐户。 访问器和突变器函数用于 id、余额和年利率。 一个名为 getMonthlyInterestRate() 的函数,用于返回每月利率。 一个名为 withdraw(amount) 的函数,用于从账户中提取指定的金额。 一个名为 deposit(amount) 的函数,用于将指定金额存入帐户。 使用 Account 类模拟 ATM 计算机。在一个数组中创建十个帐户,ID 为 0、1、...、9,初始余额为 100 美元。系统会提示用户输入 ID。如果输入的 id 不正确,请让用户输入正确的 id。接受 id 后,将显示主菜单,如示例运行所示。您可以输入选项1用于查看当前余额,2用于取款,3用于存款,4用于退出主菜单。退出后,系统将再次提示输入 ID。因此,一旦系统启动,它就不会停止。
时间: 2024-03-14 08:44:45 浏览: 31
好的,我会根据你的要求来实现这个类和模拟 ATM 计算机的程序。以下是代码实现:
```python
class Account:
def __init__(self, id=0, balance=0, annualInterestRate=0):
self.__id = id
self.__balance = balance
self.__annualInterestRate = annualInterestRate
def getId(self):
return self.__id
def setId(self, id):
self.__id = id
def getBalance(self):
return self.__balance
def setBalance(self, balance):
self.__balance = balance
def getAnnualInterestRate(self):
return self.__annualInterestRate
def setAnnualInterestRate(self, annualInterestRate):
self.__annualInterestRate = annualInterestRate
def getMonthlyInterestRate(self):
return self.__annualInterestRate / 12
def withdraw(self, amount):
if amount > self.__balance:
print("余额不足!")
else:
self.__balance -= amount
def deposit(self, amount):
self.__balance += amount
# 创建 10 个账户
accounts = []
for i in range(10):
accounts.append(Account(i, 100))
while True:
id = int(input("请输入账户 ID:"))
while id < 0 or id > 9:
id = int(input("ID 输入错误,请重新输入账户 ID:"))
account = accounts[id]
print("欢迎使用 ATM 计算机,账户 ID:", account.getId())
while True:
print("主菜单")
print("1 - 查看当前余额")
print("2 - 取款")
print("3 - 存款")
print("4 - 退出")
choice = int(input("请输入选项:"))
if choice == 1:
print("当前余额:", account.getBalance())
elif choice == 2:
amount = float(input("请输入取款金额:"))
account.withdraw(amount)
elif choice == 3:
amount = float(input("请输入存款金额:"))
account.deposit(amount)
elif choice == 4:
break
print("退出主菜单")
```
这个程序实现了一个简单的 ATM 计算机,可以让用户输入账户 ID,然后显示主菜单,用户可以选择查看当前余额、取款、存款或退出。程序会一直运行,直到用户结束程序。