题目:
1 每个用户初始金额300 2 3 1、扣除规则 4 1)图书价格大于等于 100元,累计借出去天数小于等于15天,每本每天租金5元,累计超过15天的,超过的天数每天每本租金3元 5 2)图书价格大于等于 50元、小于100元,累计借出去天数小于等于15天,每本每天租金3元,累计超过15天的,超过的天数每天每本租金2元 6 3)图书价格小于 50元,每本每天租金1元 7 8 2、余额小于所借图书价格,不能借;可以继续借阅其他的书 9 10 3、租金最大不超过所借图书的价格11 12 4、超期还书,每超过一天,另外扣1元13 14 输出余额15 16 例子:17 [[130,5,11],[60,16,16],[10,11,11]]18 19 输出:20 18221 22 解释:23 130,5,11 实际11天,超期6天,则租金为 11*5+6 = 6124 60,16,16 实际11天,有一天超过15天,则租金为 15*3 + 2 = 4725 10,11,11 实际11天,11*1 = 11,大于图书价格10元,则租金为1026 总共为 61+47+10 = 118,余额 182
代码:
1 # @Author :whyCai 2 # @Time :2021/2/22 9:44 3 4 5 from tyPing import List 6 """ 7 计算剩余金额 8 """ 9 class Solution:10 def chargeBalance(self, histList: List[List[int]]) -> int:11 initBalance = 30012 13 histListLen = len(histList)14 for i in range(histListLen):15 #图书价格小于余额16 if histList[i][0] < initBalance:17 #判断图书价格再哪个区间18 if histList[i][0] >=100:19 #实际借书日期是否再15天内20 chargeBalance = histList[i][2] * 5 if histList[i][2] <= 15 else 15 * 5 + (histList[i][2] -15) * 321 elif histList[i][0] >=50 and histList[i][0] <100:22 chargeBalance = histList[i][2] * 3 if histList[i][2] <= 15 else 15 * 3 + (histList[i][2] -15) * 223 else:24 chargeBalance = histList[i][2] * 125 # 判断是否超期还书26 if histList[i][2] > histList[i][1]:27 chargeBalance = chargeBalance + (histList[i][2] - histList[i][1]) * 128 #判断最大租金不超过所借图书价格29 if chargeBalance > histList[i][0]:30 chargeBalance = histList[i][0]31 initBalance = initBalance - chargeBalance32 33 return initBalance34 35 print(Solution().chargeBalance([[130,5,11],[60,16,16],[10,11,11]]))
总结
以上是内存溢出为你收集整理的python 练习题- 图书租金计算全部内容,希望文章能够帮你解决python 练习题- 图书租金计算所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)