# -*- coding: utf-8 -*-
"""
作者:宇轩亚40
功能:52周存钱挑战
"""
import math
import datetime
def save_money_in_n_weeks(money_per_week, increase_money, total_week):
"""
计算n周内的存款金额
"""
saving = 0 # 账户累计
money_list = [] # 记录每周存款数列表
saved_money_list = [] #记录每周账户累计
for i in range(total_week):
# 存钱操作
# saving += money_per_week
money_list.append(money_per_week)
saving = math.fsum(money_list)
saved_money_list.append(saving)
# print('第{}周,存入{}元,账户累计{}元'.format(i + 1, money_per_week, saving))
# 更新下一周的存钱金额
money_per_week += increase_money
print('总存款金额为:',saving)
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()
运行上述程序,结果如下所示:
每周存入金额:5
递增的金额:5
请输入总周数:50
总存款金额为: 6375.0
请输入日期(yyyy/mm/dd):2020/09/05
第36周的存款金额为3330.0元