【发布时间】:2022-01-06 13:53:40
【问题描述】:
我想创建一个返回伪随机数生成器的类。我想将 _rand 函数的结果保存在 _r 中,但是当我调用函数 _rand(int(time.time())) 时,我收到错误消息“rand() 缺少 1 个必需的位置参数:'seed'”。谁能解释一下我做错了什么。
class PRNG:
import time
_m = 32768
_b = 9757
_c = 6925
def _rand(self, seed):
n = seed % self._m
while True:
n = (n * self._b + self._c) % self._m
yield n
_r = _rand(int(time.time()))
def rand(self) :
return self._r.__next__()
prng = PRNG()
print(prng.rand())
【问题讨论】:
-
欢迎来到 Stack Overflow。请阅读formatting help 并确保您的代码格式正确,与您拥有的完全相同。我不知道您实际上打算如何缩进代码,而且如您所知,缩进在 Python 中至关重要。
-
也就是说:当您执行
_r = _rand(int(time.time()))时,您希望这究竟意味着什么?特别是,您是否尝试调用类的_rand方法?在这种情况下,您希望使用该类的哪个实例?为什么?