Python的学习笔记案例4--52周存钱挑战5.0

终于我回来,空了几天,我又开始学习了!坚持!

52周存钱挑战,最后的一讲了。主要解决的问题是:用户随意输入时间,就可以判断是第几周,并且知道这一周需要存的钱,账户累计的存款。

主要使用的库为math、datetime。

"""
    作者:lanxingbudui
    功能:52周存钱挑战
    版本:v5.0
    日期:20190312
    2.0增加功能:记录每周的存钱金额
    3.0增加功能:使用循环直接计数
    4.0增加功能:灵活设置每周的存钱数,增加的存钱数及存款周数
    5.0增加功能:根据用户输入的日期,判断是一年中的第几周,然后给出相应的存款金额
"""
import math
import datetime


def save_money_in_n_weeks(money_per_week, increase_money, total_week):

    """
        计算n周的存钱金额
    """
    money_list = []  # 记录每周存款数的列表
    saved_money_list = []  # 记录每周账户累计金额的列表
    for i in range(total_week):  # rang()函数形成从0 到total_week所有数的列表;使用for循环
        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_n_weeks(money_per_week, increase_money, total_week)
    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()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值