第八章 类和对象

更新时间: 试题数量: 购买人数: 提供作者:

有效期: 个月

章节介绍: 共有个章节

收藏
搜索
题库预览
设计一个银行存款类DEPOSIT,表示一笔客户存款。按以下要求写出该类的完整的定义代码(不用写类的测试程序)。 (1)具有5个属性:account、type、amount、rate、date。分别表示账号(字符串)、存款类别(整数1、2、3、4,表示不同存期)、存款金额(实数)、年利率(实数,百分数)、存款日期(字符串)。这些属性无默认值。 (2)一个构造方法__init__(self, account, type, amount, rate, date),用以创建一笔客户存款对象时,设定账号、类别、存款金额、年利率和存款日期。 (3)一个方法函数get_info(self),返回存款对象的基本信息字符串。参看图3测试程序输出的格式和内容(每项数据位数不必严格设定)。 账号:******,类别:*,存款金额:****,年利率:.*% ,存款日期:******* (4)一个计算存款实际利息的方法函数get_Interest(self, days),根据存款实际天数days,计算实际存款利息并返回。 表1 各种存款类别的计息方式 | 类别 | 期限 | 计息方式 | | ---- | ---- | -------- | | 1 | 活期 | 实际天数*金额*0.36/365 | | 2 | 半年 | 金额*(完整的存款周期数*半年期年利率/2+剩余天数*0.0036/365)满183天为一个存款周期,不足183天,为0个存款周期 | | 3 | 一年 | 金额*(完整的存款周期数*一年期年利率+剩余天数*0.0036/365)满365天为一个存款周期,不足365天,为0个存款周期 | | 4 | 三年 | 金额*(完整的存款周期数*三年期年利率*3+剩余天数*0.0036/365)满1095天为一个存款周期,不足1095天,为0个存款周期 | | 5 | 五年 | 金额*(完整的存款周期数*五年期年利率*5+剩余天数*0.0036/365)满1825天为一个存款周期,不足1825天,为0个存款周期 | 例如,某三年期存单,年利率为2.75%,金额10000元,取款时,实际存款2300天(已满2个完整的存款周期,剩余2300-1095*2天),则 实际利息=10000*(2*0.0275*3+ (2300-1095*2)*0.0036)= 1660.85元 (5)按以上要求定义好DEPOSIT类之后,如果运行图2中给定的测试程序并输入数据,可以输出图3所示的结果。 #银行柜员根据银行客户办理存款业务时现场输入相关信息 account,type,amount,rate,date=eval(input('输入账号、类别、金额、利率,存款日期:')) deposit1=DEPOSIT(account,type,amount,rate,date) print(deposit1.get_info()) #一段时间之后,用户提款,银行柜员输入存款实际持续天数 days=int(input('输入实际存款天数: ')) print('实际利息%8.2f%(deposit1.get_Interest(days))') 图2 测试程序 输入账号、类别、金额、利率,存款日期:'6225970065',4,10000,2.75,'2021-06-20' 账号:6225970065,类别:4,金额:10000.00,年利率:2.75%,存款日期:2021-06-20 输入实际存款天数: 2300 实际利息 1660.85 >>> 图3 测试结果 (缺图)
1 2