【Python打卡2019】20190424之n周存钱挑战-用户输入+函数化

0.目标描述

本次支持用户输入,并将计算金额的程序函数化;

1.程序与结果

"""
    输出每周存入的钱和存款总数
    使用list列表
    for+range替换while
    新增:函数化+支持用户输入周数等数值
"""
# import math库,使用求和函数
import math

def total_saved_money_in_week_n(total_weeks, current_week_saved_money, increased_money_per_week):
    """
    n周存钱输出
    :param total_weeks:
    :param current_week_saved_money:
    :param increased_money_per_week:
    :return:
    """
    week_saved_money_list = []  # 列表初始化,该列表存储每个月存入的金额
    for current_week in range(total_weeks):  # 使用range函数
        week_saved_money_list.append(current_week_saved_money)
        total_saved_money = math.fsum(week_saved_money_list)
        # 此处使用current_week+1是因为range从0开始计数
        print("当前第{}周,本周存入{}元,总存款数{}元(使用for+range)"
              .format(current_week + 1, current_week_saved_money, total_saved_money))
        current_week_saved_money += increased_money_per_week


def main():
    """
        主函数
    """
    total_weeks = eval(input("请输入存钱周数:"))
    current_week_saved_money = eval(input("请输入(第一周)初始存入金额:"))
    increased_money_per_week = eval(input("请输入每周存入钱数增长数额:"))
    total_saved_money_in_week_n(total_weeks, current_week_saved_money, increased_money_per_week)


if __name__ == '__main__':
    main()
Y:\Python\Anaconda\python.exe Y:/PythonWorkspace/lect05/MoneyChallenge5.py
请输入存钱周数:10
请输入(第一周)初始存入金额:20
请输入每周存入钱数增长数额:10
当前第1周,本周存入20元,总存款数20.0元(使用for+range)
当前第2周,本周存入30元,总存款数50.0元(使用for+range)
当前第3周,本周存入40元,总存款数90.0元(使用for+range)
当前第4周,本周存入50元,总存款数140.0元(使用for+range)
当前第5周,本周存入60元,总存款数200.0元(使用for+range)
当前第6周,本周存入70元,总存款数270.0元(使用for+range)
当前第7周,本周存入80元,总存款数350.0元(使用for+range)
当前第8周,本周存入90元,总存款数440.0元(使用for+range)
当前第9周,本周存入100元,总存款数540.0元(使用for+range)
当前第10周,本周存入110元,总存款数650.0元(使用for+range)

Process finished with exit code 0

猜你喜欢

转载自blog.csdn.net/qq_32760017/article/details/89497856