筆記
從案例分析切入知識點-----由簡開始

案例4知識點匯總.png
案例4-3:

52周存錢計劃.png

計劃表.png
1.0新增功能:52周存錢計劃
繼續(xù)分析IPO
2.0新增功能:記錄每周的存款數(shù),用list
3.0新增功能:使用for循環(huán)實現(xiàn)功能
4.0新增功能:a.靈活設(shè)置每周的存款數(shù),增加的存款數(shù)機存款周數(shù)
b.結(jié)構(gòu)化代碼(函數(shù)封裝)
5.0新增功能:根據(jù)用戶輸入的日期,判斷是一年中的第幾周,然后輸出相應(yīng)的存款金額
----------------------------代碼實現(xiàn)--------------------------
"""
--*-- coding: utf-8 --*--
@Time :2019/7/13
@Author :ZHOUMENGJIE
File :money_challenge.py
功能:52周存錢挑戰(zhàn)
版本:V4.0
v3.0功能:使用for循環(huán)直接計數(shù)
v4.0新增功能:靈活設(shè)置每周的存款數(shù),增加的存款數(shù)機存款周數(shù)
5.0新增功能:根據(jù)用戶輸入的日期,判斷是一年中的第幾周,然后輸出相應(yīng)的存款金額
"""
import math
import datetime
def save_money_in_week(total_week,money_per_week,increase_money):
'''
計算存款金額周數(shù)
'''
money_list = [] #記錄每周存款數(shù)的列表#
saved_money_list = [] #記錄賬戶每周賬戶累計
for i in range(total_week):
# 存錢操作,引入math函數(shù)
money_list.append(money_per_week)
saving = math.fsum(money_list)#列表求和方法
saved_money_list.append(saving)
# 更新下一周的存錢金額
money_per_week += increase_money
return saved_money_list
def main():
'''
主函數(shù)
'''
money_per_week = float(input("請輸入存款金額:")) #每周的存入金額
increase_money = float(input("請輸入遞增金額:")) #遞增的金額
total_week = int(input("請輸入存款總周數(shù):")) #總共周數(shù)
# 調(diào)用函數(shù)
saved_money_list = save_money_in_week(total_week,money_per_week,increase_money)
input_date_str = input("請輸入年月日(yyyy/mm/dd):")
input_date = datetime.datetime.strptime(input_date_str,'%Y/%m/%d')
week_num = input_date.isocalendar()[1]
print("第{}周的存款:{}元".format(week_num,saved_money_list[week_num - 1]))
if __name__ == "__main__":
main()
---------------涉及知識點---------------
1.datetime標準函數(shù)庫

datetime標準函數(shù)庫.png