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

datetime标准函数库.png

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容