18.datetime标准函数库

笔记

从案例分析切入知识点-----由简开始
案例4知识点汇总.png

案例4-3:

52周存钱计划.png

计划表.png

       1.0新增功能:52周存钱计划  
       继续分析IPO
       2.0新增功能:记录每周的存款数,用list 
       3.0新增功能:使用for循环实现功能
       4.0新增功能:a.灵活设置每周的存款数,增加的存款数机存款周数
                              b.结构化代码(函数封装)
       5.0新增功能:根据用户输入的日期,判断是一年中的第几周,然后输出相应的存款金额

----------------------------代码实现--------------------------

"""
--*-- coding: utf-8 --*--
@Time      :2019/7/13
@Author    :ZHOUMENGJIE
File       :money_challenge.py
功能:52周存钱挑战
版本:V4.0
v3.0功能:使用for循环直接计数
v4.0新增功能:灵活设置每周的存款数,增加的存款数机存款周数
5.0新增功能:根据用户输入的日期,判断是一年中的第几周,然后输出相应的存款金额
"""

import math
import datetime

def save_money_in_week(total_week,money_per_week,increase_money):
    '''
        计算存款金额周数
    '''
    money_list = []             #记录每周存款数的列表#
    saved_money_list = [] #记录账户每周账户累计
    for i in range(total_week):
        # 存钱操作,引入math函数
        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():
    '''
        主函数
    '''
    money_per_week = float(input("请输入存款金额:"))         #每周的存入金额
    increase_money = float(input("请输入递增金额:"))         #递增的金额
    total_week = int(input("请输入存款总周数:"))             #总共周数

    # 调用函数
    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标准函数库

18.datetime标准函数库_第1张图片
datetime标准函数库.png

你可能感兴趣的:(18.datetime标准函数库)