python - 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
解决方案
random.expovariate()
输入应该是非零的。我猜你正在运行 python2 并且1/6
是 0。将其更改为1./6.
应该没问题。
推荐阅读
- google-cloud-platform - 设置 Google Query 时的最佳安全做法是什么?
- reactjs - 在 React 美丽的 dnd 中渲染一个组件
- ruby-on-rails - 如何解决 nginx 找不到 puma?
- javascript - 处理多个对象
- javascript - 写这个的正确方法是什么?需要替换一个switch语句
- angular - 子项角度路由中的不同 RoleGuard
- java - 在 Linux 中使用 7zip 将 ISO 提取到位置
- html - 阻止表格单元格重叠 HTML CSS
- r - 在 DataFrame 中插入向量
- jquery - 带有锁定列的 Kendo Grid 偏移未锁定的列对齐垂直和水平