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

Python连续复利现值计算错误排查求助

现值计算代码的问题修复

你的代码核心问题是变量赋值完全搞反了,看这两行:

years = float(rate)
rate = rate

你把rate的值赋给了years,导致后续计算rate * years实际上是rate * rate,完全偏离了公式要求的rate * years,这就是结果错误的根源。

修正后的代码

import math

# 先明确变量输入(示例值,可根据实际场景替换)
goal = 50000.0
rate = 0.05
years = 5.0

# 正确的变量类型转换(若输入为字符串时使用)
goal = float(goal)
rate = float(rate)
years = float(years)

principal = goal / (math.e ** (rate * years))
rounded_principal = round(principal, 2)
print(rounded_principal)

验证测试案例

  1. 当goal=50000、rate=0.05、years=5时,修正后输出38940.04,符合预期。
  2. 当goal=200、rate=0.1、years=1时,修正后输出180.97,符合预期。

注意:如果变量来自外部输入(比如用户输入),要确保先获取正确的goal、rate、years值,再做类型转换,避免赋值混乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:25:28