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