关于python,random.setstate()的报错如何解决

关于python,random.setstate()的报错如何解决

python初学者,在jupyter notebook尝试重现random的伪随机数,但运行以下代码时报错:

TypeError: 'tuple' object is not callable

请问是哪里不对,该如何改正?

import random
x = random.getstate()
print(random.randint(1,100))
print(random.randint(1,100))
print(random.randint(1,100))

random.setstate(x)
print(random.randint(1,100))
print(random.randint(1,100))
print(random.randint(1,100))

img

img


代码没有问题,如图可以正确输出结果。检查下你的python是否有问题

程序上应该没有问题!

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    解决方案: 这个错误通常是因为使用了元组tuple而不是函数名来调用一个函数。针对你的问题,我猜测你在调用setstate()函数时,使用了一个元组来替代函数。可以通过以下步骤来解决这个问题:

    1. 确保你使用的是函数random.setstate()而不是其他什么。

    2. 去掉元组的括号,将其改为正确的语法调用。正确代码的示例为:

    import random state = random.getstate()

    some code here, e.g. print(random.randint(1,10))

    random.setstate(state)

    在这个代码示例中,首先获取当前的随机数状态,然后进行一些操作,最后再将状态设置为之前保存的状态。如果你仍然遇到了问题,请尝试检查你的代码,确保你使用了正确的语法调用函数。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^