random.seed(42) mean = np.random.uniform(3, 5,numpatient) # 生成均值在[3,5]范围内的随机数 std = np.random.choice([0.05, 0.3],numpatient) # 从集合{0.05,0.3}中随机选择一个标准差 duration = np.random.lognormal(mean, std).astype(int)#手术时间 print('duration',duration)这个代码里我赢设置了随机种子数,为什么每次出来的结果还是不一样
时间: 2024-04-18 17:31:51 浏览: 237
Python中的random.uniform()函数教程与实例解析
你好!根据你提供的代码,你已经使用了随机种子 `random.seed(42)` 来设置随机数生成器的种子。这确保了每次运行代码时生成的随机数序列是相同的。然而,你可能会观察到每次运行代码时结果不一样的情况,这可能是因为你在生成随机数时使用了不同的分布函数。
在你的代码中,你使用了 `np.random.uniform` 来生成服从均匀分布的随机数,和 `np.random.choice` 来从指定集合中随机选择一个数。但是,你使用了这些随机数作为 `np.random.lognormal` 函数的参数,该函数生成的是服从对数正态分布的随机数。
因此,每次运行代码时,虽然种子相同,但生成的均值和标准差不同,导致每次生成的随机数序列也不同。如果你想要得到相同的结果,请确保在每次运行代码时使用相同的均值和标准差。
阅读全文