如何用Python实现每年追加金额的复利计算?
解决每年追加固定金额的复利计算问题
你的核心需求是每年计息完成后追加固定金额,这种情况无法直接套用一次性复利公式,需要逐年迭代计算——因为每一年的本金都会因追加金额发生变化。
计算逻辑拆解
已知条件:
- 初始本金:100 USD
- 年利率:10%(即0.1)
- 每年年末追加:50 USD
- 周期:3年
具体计算步骤:
- 第1年:
- 计息后金额:
100 * (1 + 0.1) = 110USD - 追加50 USD后本金变为:
110 + 50 = 160USD
- 计息后金额:
- 第2年:
- 计息后金额:
160 * (1 + 0.1) = 176USD - 追加50 USD后本金变为:
176 + 50 = 226USD
- 计息后金额:
- 第3年:
- 计息后金额:
226 * (1 + 0.1) = 248.6USD(3年后的最终金额,无需再追加)
- 计息后金额:
对应Python代码实现
用迭代函数处理每年的计息和追加逻辑:
def compound_interest_with_addition(principal, rate, annual_addition, years): current_amount = principal for year in range(years): # 计算当年利息 current_amount *= (1 + rate) # 非最后一年年末追加金额 if year != years - 1: current_amount += annual_addition return current_amount # 代入参数计算 final_amount = compound_interest_with_addition(100, 0.1, 50, 3) print(f"3年后的资金总额为: {final_amount} USD")
运行代码会输出:3年后的资金总额为: 248.6 USD,和手动计算结果一致。
代码说明
- 函数参数依次对应初始本金、年利率、每年追加金额、总年数
- 循环逐年更新金额:先算当年利息,再判断是否需要追加(仅非最后一年追加)
内容的提问来源于stack exchange,提问作者Tural Dadashzade
相关产品推荐
相关产品推荐

