鱼C论坛

 找回密码
 立即注册
查看: 2077|回复: 4

random

[复制链接]
发表于 2023-8-12 17:13:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
test=random.getstate
print(test)
想获取生成的伪随机数,但为什么这里打印出来是一串<bound method Random.getstate of <random.Random object at 0x000002C3E999F180>>啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-8-12 17:13:59 | 显示全部楼层
问题出在你没有调用  random.getstate()  方法,而是直接将其赋值给了  test  变量。因此, test  变量实际上是一个方法对象,而不是生成的伪随机数。

要获取生成的伪随机数,你需要调用  random.random()  方法。这个方法会返回一个介于 0 和 1 之间的随机浮点数。你可以尝试以下代码:

  1. import random

  2. random_number = random.random()
  3. print(random_number)
复制代码


这样就可以打印出一个随机数了。注意,每次运行程序都会得到不同的随机数,因为伪随机数是根据种子值生成的。如果你想要得到相同的随机数序列,可以在调用  random.random()  之前设置种子值,例如:

  1. import random

  2. random.seed(42)  # 设置种子值为 42
  3. random_number = random.random()
  4. print(random_number)
复制代码


这样每次运行程序都会得到相同的随机数序列。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-12 17:14:12 | 显示全部楼层
问题出在你对 getstate 方法的使用上。getstate 是一个方法,而不是一个属性。当你调用 random.getstate 时,它返回了一个方法对象。为了获取生成的伪随机数状态,你需要调用这个方法。

以下是正确的代码示例:
  1. import random

  2. random_state = random.getstate()  # 获取生成的伪随机数状态
  3. print(random_state)  # 打印伪随机数状态
复制代码


这样,random.getstate() 方法会返回一个表示伪随机数状态的元组,你可以将其存储在变量中并打印出来。

注意:伪随机数状态是一个包含多个值的元组,其中包括随机数种子和其他状态信息。要获取实际的生成的伪随机数,你可能需要使用随机数生成函数(如 random.random())来生成随机数。

希望这能解决你的问题!如果还有其他疑问,请随时提问。
如果问题已经解决,请设置最佳答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-12 17:15:49 | 显示全部楼层
没加小括号,加了小括号才是调用函数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-12 17:26:59 | 显示全部楼层
你要在最后加上一对小括号,就是这样:

  1. test=random.getstate()
复制代码


就可以了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 12:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表