python 練習題- 圖書租金計算


題目:

 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 182
21 
22 解釋:
23 130,5,11   實際11天,超期6天,則租金為 11*5+6 = 61
24 60,16,16   實際11天,有一天超過15天,則租金為 15*3 + 2 = 47
25 10,11,11   實際11天,11*1 = 11,大於圖書價格10元,則租金為10
26 總共為 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 = 300
12 
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) * 3
21                 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) * 2
23                 else:
24                     chargeBalance = histList[i][2] * 1
25                 # 判斷是否超期還書
26                 if histList[i][2] > histList[i][1]:
27                     chargeBalance = chargeBalance + (histList[i][2] - histList[i][1]) * 1
28                 #判斷最大租金不超過所借圖書價格
29                 if chargeBalance > histList[i][0]:
30                     chargeBalance = histList[i][0]
31                 initBalance = initBalance - chargeBalance
32 
33         return initBalance
34 
35 print(Solution().chargeBalance([[130,5,11],[60,16,16],[10,11,11]]))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM