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

Python编写复利计算器仅首年结果正确后续年份计算错误求助

复利计算器问题排查与修正

核心错误点

  • 自定义的bank函数计算结果未被后续逻辑使用,属于无效代码
  • 年度金额计算逻辑存在根本缺陷:仅对初始本金计算复利,往年存入的额外存款未计入本金滚动计息,直接导致首年结果正确、后续年份全部偏差
  • 缺少利率百分比转换逻辑:若用户输入百分比格式的利率(如输入3代表3%年利率),直接使用会导致利率数值放大100倍
  • 变量名存在拼写错误:intrest正确拼写应为interest,不影响运行但不符合规范

修正后代码

# 初始化参数
initial_balance = float(input("Enter current balance:"))
extra_per_year = float(input("Amount added at end of year:"))
years = int(input("How many years:"))
# 输入为百分比利率,除以100转换为小数
annual_rate = float(input("Annual interest rate (in %):")) / 100

current_balance = initial_balance

for year in range(1, years + 1):
    # 先计算当年利息
    current_balance *= (1 + annual_rate)
    # 年底存入额外金额
    current_balance += extra_per_year
    print(f"Year {year} Amount: {current_balance:.2f}")

逻辑说明

  • 用变量保存每年滚动更新的当前总余额,往年的本金、利息、额外存款都会计入下一年的计息基数,符合复利计算规则
  • 增加了利率百分比转换处理,符合常规输入习惯
  • 新增输出年份标识和金额两位小数保留,可读性更强

内容的提问来源于stack exchange,提问作者Blue

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:54:03