Python 52周存錢挑戰


 

主要的算法:

累加算法  

ladder_save_money  利用math庫的fsum()對列表的全部內容求和


以下是全部代碼:

 

 1 import math
 2 
 3 '''
 4 52周存錢挑戰
 5     階梯式存錢法,挑戰人必須每周比上周多存一定數額的錢
 6     一年(52周)后,不考慮利息,計算存款
 7 '''
 8 
 9 
10 def ladder_save_money(money_per_week, increase_per_week, total_week):
11     """
12 
13     :param increase_per_week: 每周存入金額的增幅
14     :param money_per_week: 首周存入的金額
15     :param total_week: 總計存錢周數
16     :return: total_money_list 每周存款情況
17     :print 每周存款數和存款情況
18     """
19 
20     saved_money_list = []
21     total_money_list = []
22     for i in range(total_week):
23         saved_money_list.append(money_per_week)
24         #   math庫內置函數,對列表內所有所有數字求和
25         #   這里不用簡單的 saving = money_per_week + total_money_list[i - 1]的原因是第一周需要特殊處理,代碼風格不好
26         saving = math.fsum(saved_money_list)
27         #   使用這個列表的原因是要每周輸出,主函數最后也要輸出一下最終存款
28         total_money_list.append(saving)
29 
30         #   輸出每周存錢情況
31         print("第{}周,存入{}元,已累計存款{}元".format(i + 1, money_per_week, saving))
32         #   每周固定漲幅increase_per_week元
33         money_per_week += increase_per_week
34     return total_money_list
35 
36 
37 def main():
38     """
39     主函數
40     :return:null
41     """
42 
43     #  首周存入的金額
44     money_per_week = int(input("請輸入首周存入的金額:"))
45     #   每周增幅一定金額
46     increase_per_week = int(input("請輸入每周存入金額的增幅:"))
47     #   存錢周期
48     total_week = int(input("請輸入總計存錢時長(周數):"))
49 
50     total_money_list = ladder_save_money(money_per_week, increase_per_week, total_week)
51     length = len(total_money_list)
52     #   format標准化輸出
53     print("{}周后功能存入{}元".format(total_week, total_money_list[length - 1]))
54 
55 
56 if __name__ == '__main__':
57     main()

 


免責聲明!

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



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