首页 > 解决方案 > Python random.expovariate() 零除错误

问题描述

当我在代码中使用 random.expovariate(1/6) 时,我得到零除法错误。有谁知道为什么?这是我的代码:

randomSeed = 1000
random.seed(randomSeed)    
def function1(env):
    for i in range(1000):
        time = random.expovariate(1/6)
        yield env.timeout(time)

这是错误:

File "..\simulation.py", line 108, in function1
    time = random.expovariate(1/6)
File "..\random.py", line 440, in expovariate
    return -_log(1.0 - self.random())/lambd
ZeroDivisionError: float division by zero

标签: pythonnumpyrandomsimpy

解决方案


random.expovariate()输入应该是非零的。我猜你正在运行 python2 并且1/6是 0。将其更改为1./6.应该没问题。


推荐阅读