首页 > 解决方案 > 生成几何分布时的类型错误(python 3)

问题描述

我正在为我的个人 RNG 创建一个类,但是在为几何类执行此实现时,我不断收到错误:TypeError: unsupported operand type(s) for /: 'method' and 'float' 但我找不到在哪里这是错误的,既不使用“地板”的文档,我认为这是问题所在。

class mi_rng:
        def __init__ (self, seed=0):
            self.seed= 0
            self.m= 2**32
            self.a= 1664525
            self.c= 1013904223
            self.normal_stored= None
    def geometrica2(self, p):
            return int(floor(log(self.uniforme/log(1.0-p))))
    muestra= [rng.geometrica2(0.7) for _ in range(1000)]
    print("Geometrica 2, media: ", mean(muestra), ", varianza: ", var(muestra))

标签: pythonrandom

解决方案


该错误告诉您问题出在您的除法操作/上。

什么是self.uniforme

它是生成制服(e)的功能吗?如果是这样,请尝试: self.uniforme()


推荐阅读