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

Python计算股票涨跌幅时触发ZeroDivisionError问题咨询

解决ZeroDivisionError:计算股票涨跌幅时除以零的问题

这个错误的原因非常直白:你传递给getPercent函数的past参数值是0,导致计算过程中触发了ZeroDivisionError(浮点数被零除)。

咱们看你的计算逻辑:((current - past) / past) * 100,这里的分母是past——而在数学里,零是不能作为除数的,Python自然也会严格遵循这个规则,一旦发现你用零做除数,就会立刻抛出这个错误。

举个例子,如果你的调用是getPercent(0.0, 150.0),这时候past为0,就会直接触发报错。

简单的修复方案

你可以在函数内部添加参数校验,提前拦截零值的情况,避免报错:

def getPercent(past: float, current: float):
    if past == 0:
        # 这里可以根据你的业务需求处理,比如返回0,或者抛出更明确的提示
        return 0.0  # 或者改成 raise ValueError("基准价格(past)不能为零")
    p = ((current - past) / past) * 100
    return round(p, 2)

另外要注意,你用str(getPercent())打印结果的时候,一定要确保传入的past和current参数是合法的数值,比如str(getPercent(100.0, 125.5)),这样才不会触发错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 16:42:51