Python:除法错误

时间:2010-12-03 22:25:39

标签: python

继承我的方法:

def geometricSum(commonRatio, firstTerm, lastTerm):
    return ((firstTerm - lastTerm) * commonRatio) / (1 - commonRatio)

口译员测试:

    >>> geometricSum(1.0,1.0,100.0)
    Traceback (most recent call last):
      File "<interactive input>", line 1, in <module>
        File "F:\PortablePython_1.1_py3.0.1\sumOfGeometric.py", line 2, in geometricSum
          return ((firstTerm-lastTerm)*commonRatio)/(1-commonRatio)
    ZeroDivisionError: float division

6 个答案:

答案 0 :(得分:10)

你除以零。 commonRatio为1.0,因此分母为1-1.0 = 0.

答案 1 :(得分:9)

哈哈,我很抱歉直言不讳,但这与双打毫无关系。 你是由ZERO分开的!如果不是python的异常处理,你可能会炸毁宇宙!

答案 2 :(得分:7)

1 - commonRatio = 1 - 1 = 0.

python中尚不支持除以0。或者在数学中。

答案 3 :(得分:3)

Python告诉你问题是什么:

  

ZeroDivisionError:浮动分区

请阅读错误消息。它显示ZeroDivisionError,因为Error试图通过Division执行Zero。你除以1 - commonRatio,在程序中的那一点为零。

答案 4 :(得分:1)

看起来你的commonRatio是1,所以你总结了一个不同的系列。

答案 5 :(得分:1)

使用那些参数,你试图除以零......

commonRatio = 1.0

/ (1-commonRatio)

/ 0 

这会引发ZeroDivisionError异常