You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python计算年定存复利资产超指定金额年限 解决while死循环问题

存款年限计算问题修复方案

错误原因排查

  • 变量赋值逻辑错误:代码中D=+A实际等价于D = A,直接覆盖了原本代表固定年存款额的变量D,且没有实现每年新增存入固定本金的逻辑,导致计算完全偏离业务规则
  • 资金计算顺序错误:未遵循「每年1月1日先存入当年固定存款,再对全年总资产计息」的规则,且错误将复利计算的本金和固定存款变量混用
  • 固定参数被修改:年化利率、年存款额属于固定输入参数,运行过程中不应该被重新赋值,否则会破坏计算基准

正确实现代码

# 输入参数:年化利率、年固定存款额、目标总金额
P = 1.8      # 年化利率
D = 10000     # 每年固定存款额
K = 250000    # 目标总资产

n = 0         # 存款年限
total = 0     # 账户总资产

while total <= K:
    # 每年1月1日先存入当年固定金额
    total += D
    # 计算当年利息
    total = total * (1 + P / 100)
    # 年限累加
    n += 1

print(f"总资产超过{K}元所需年限为:{n}年")

逻辑验证

按题目给出的测试参数计算,首次2020年1月1日存入1万,计息后年末总资产为10180元,2021年1月再存1万后本金为20180元,计息后为20543.24元,以此类推,最终得到的年限结果符合实际复利计算规则,不会出现无限循环问题。

内容的提问来源于stack exchange,提问作者F.O

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 01:45:01