【Python 24】52周存钱挑战4.0(函数)

1.案例描述

按照52周存钱法,存钱人必须在一年52周内,每周递存10元。例如,第一周存10元,第二周存20元,第三周存30元,直到第52周存520元。

记录52周后能存多少钱?即10+20+30+...+520=13780

2.0增加功能:记录每周存款金额(使用list)

3.0增加功能:使用循环直接计数(for)

4.0增加功能:灵活设置每周存款数,增加存款数及存款周数

2.案例分析

输入:每周递存金额和挑战总周数

处理:账户累计+=每周存入金额;每周存入金额 +=每周递存金额。从第1周开始循环,到n周结束。

输出:第几周,存入多少元,累计账户多少钱?

3.上机实验

"""
    作者:梁斌
    功能:52周存钱挑战
    版本:3.0
    日期:05/08/2017
    2.0增加功能:记录每周的存款数
    3.0增加功能:使用循环直接计数
    4.0增加功能:灵活设置每周的存款数,增加的存款数及存款周数
"""
import math


def save_money_in_n_weeks(money_per_week, increase_money, total_week):
    """
        计算n周内的存款金额
    """

    money_list = []  # 记录每周存款数的列表

    for i in range(total_week):
        money_list.append(money_per_week)
        saving = math.fsum(money_list)

        # 输出信息
        # print('第{}周,存入{}元,账户累计{}元'.format(i + 1, money_per_week, saving))

        # 更新下一周的存钱金额
        money_per_week += increase_money

    return saving


def main():
    """
        主函数
    """
    money_per_week = float(input('请输入每周的存入的金额:'))     # 每周的存入的金额
    increase_money = float(input('请输入每周的递增金额:'))     # 递增的金额
    total_week = int(input('请输入总共的周数:'))         # 总共的周数

    # 调用函数
    saving = save_money_in_n_weeks(money_per_week, increase_money, total_week)
    print('总存款金额', saving)

if __name__ == '__main__':
    main()
原文地址:https://www.cnblogs.com/badboy200800/p/10630199.html