为什么random.setstate()会报错
本帖最后由 Kevin_HKH 于 2023-5-29 00:49 编辑写了以下代码:
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))
在运行random.setstate(x) 时报错:
TypeError
Cell In, line 8
5 print(random.randint(1,100))
6 print(random.randint(1,100))
----> 8 random.setstate(x)
9 print(random.randint(1,100))
10 print(random.randint(1,100))
TypeError: 'tuple' object is not callable
按照教程来写,请问为什么会报错?
哪个教程? 歌者文明清理员 发表于 2023-5-29 00:48
哪个教程?
零基础入门学习Python》最新版,有个解释random为什么是伪随机数,如何复现随机数的内容,按视频内容尝试但报错 Kevin_HKH 发表于 2023-5-29 00:51
零基础入门学习Python》最新版,有个解释random为什么是伪随机数,如何复现随机数的内容,按视频内容尝试 ...
最好给课程链接,你这样说别人也不一定能找到 代码中出现了一个错误:random.getstate() 返回的是一个元组,而 random.setstate() 要求参数是一个可调用对象。因此,在调用 random.setstate() 时会出现“'tuple' object is not callable”错误。
解决方法是将获取的随机状态信息存储到一个变量中,然后在调用 random.setstate() 时将这个变量作为参数传入。修改后的代码如下:
import random
state = random.getstate()
print(random.randint(1,100))
print(random.randint(1,100))
print(random.randint(1,100))
random.setstate(state)
print(random.randint(1,100))
print(random.randint(1,100))
print(random.randint(1,100))
运行以上修改后的代码时,不会再出现“'tuple' object is not callable”错误了。 主要是因为使用random前没有import吧 import random
页:
[1]