请编写CBank类,按单复利计算存款总额 分数 30 作者 yang 单位 成都信息工程大学 请编写CBank类,完成以下功能: 构造函数__init__中对存款__deposit,利率__rate和年__year都初始化为0.00; 实例方法setData完成键盘输入数据,对存款进行修改,要求应有格式检查,排除输入非数字型字符串和负数的可能,格式不符合要求,setData函数return False,格式符合要求,return True; 实例方法displayData完成__deposit,利率__rate和年__year的输出,保留2位小数; 实例方法computeComInterest和computeSimInterest分别按照复利和单利方式进行存款总额的计算,完成不同方式存款总额的计算,输出的结果保留2位小数;
时间: 2024-03-03 18:51:03 浏览: 152
C#——编写程序输入年利率k(例如2.52%),存款总额total(例如100000元),计算一年后的本息并输出。.doc
5星 · 资源好评率100%
以下是CBank类的实现:
```python
class CBank:
def __init__(self):
self.__deposit = 0.00
self.__rate = 0.00
self.__year = 0.00
def setData(self):
deposit = input("请输入存款金额:")
rate = input("请输入利率:")
year = input("请输入存款年限:")
try:
deposit = float(deposit)
rate = float(rate)
year = float(year)
except ValueError:
print("输入格式不正确,请输入数字!")
return False
if deposit < 0 or rate < 0 or year < 0:
print("输入格式不正确,存款金额、利率和存款年限必须为正数!")
return False
self.__deposit = deposit
self.__rate = rate
self.__year = year
return True
def displayData(self):
print("存款金额:{:.2f}".format(self.__deposit))
print("利率:{:.2f}%".format(self.__rate))
print("存款年限:{:.2f}年".format(self.__year))
def computeComInterest(self):
total = self.__deposit * (1 + self.__rate / 100) ** self.__year
print("复利计算存款总额:{:.2f}".format(total))
def computeSimInterest(self):
total = self.__deposit * (1 + self.__rate / 100 * self.__year)
print("单利计算存款总额:{:.2f}".format(total))
```
CBank类的构造函数__init__中把存款__deposit、利率__rate和年__year都初始化为0.00。
setData方法实现了键盘输入数据,对存款进行修改,要求应有格式检查,排除输入非数字型字符串和负数的可能,格式不符合要求,setData函数return False,格式符合要求,return True。
displayData方法完成__deposit、利率__rate和年__year的输出,保留2位小数。
computeComInterest和computeSimInterest分别按照复利和单利方式进行存款总额的计算,完成不同方式存款总额的计算,输出的结果保留2位小数。其中复利计算公式为:总额 = 存款金额 × (1 + 利率/100)^存款年限,单利计算公式为:总额 = 存款金额 × (1 + 利率/100 × 存款年限)。
阅读全文