Python random.seed() 方法



Python random.seed() 方法用于生成随机数。它借助伪随机数生成器,通过对给定值执行某些操作来实现。random 模块使用种子值作为基础在 Python 中创建随机数。

伪随机数生成器在播种时获取其第一个“前一个”值。对于特定的随机数生成器,每个种子值将对应于生成的一系列值。换句话说,如果您两次使用相同的种子,您将两次获得相同的数字集。

注意 - 此函数无法直接访问,因此我们需要导入 random 模块,然后需要使用 random 静态对象调用此函数。

语法

以下是Python random.seed()方法的语法 -

random.seed(x, version)

参数

  • x(可选) - 这是下一个随机数的种子。如果省略,则它采用系统时间生成下一个随机数。如果 x 为 None,则默认使用当前系统时间。

  • version - 这是一个整数值。它描述了如何将参数x转换为整数值。它的默认值为 2。

返回值

此方法不返回值。它仅修复随机数生成。

示例 1

以下示例显示了 Python random.seed() 方法的使用。在这里,我们还使用了另一个称为 random() 的 random 模块方法。它生成位于指定范围“10”内的随机数。

import random
random.seed( 10 )
print ("Random number with seed 10 : ", random.random())
# It will generate same random number
random.seed(10)
print ("Random number with seed 10 : ", random.random())
# It will generate same random number
random.seed(10)
print ("Random number with seed 10 : ", random.random())

当我们运行以上程序时,它会产生以下结果 -

Random number with seed 10 :  0.57140259469
Random number with seed 10 :  0.57140259469
Random number with seed 10 :  0.57140259469

示例 2

如果我们两次使用相同的种子,我们将两次获得相同的随机数集。

在下面给出的示例中,相同的种子值“98”被提供给 random.seed() 方法。因此,获得了相同的随机数。这是因为为随机数生成器指定了第一个前一个值(种子)。因此,在每次运行中,生成器都会生成相同的数字。

# import the random module
import random
# set the seed with the value 98
x = random.seed(98)
# generate the random number between 1-100
print("The random number generated is:", random.random()*100)
# again set the seed with the value of 98
x = random.seed(98)
# generate the random number between 1-100
print("The random number generated is:", random.random()*100)

在执行上述代码时,我们得到以下输出 -

The random number generated is: 35.639820676272215
The random number generated is: 35.639820676272215

示例 3

在这里,我们在调用 random 模块之前传递不同的种子值。因此,我们获得不同的随机数。

# import the random module
import random
# set the seed with the value 98
x = random.seed(30)
# generate the random number between 1-100
print("The random number generated is:", random.random()*100)
# again set the seed with the value of 60
x = random.seed(60)
# generate the random number
print("The random number generated is:", random.random())

以下是上述代码的输出 -

The random number generated is: 53.90815646058106
The random number generated is: 0.3078067547337774

示例 4

以下是使用 for 循环的 seed() 方法的另一个示例。在这里,我们看到重复的输出 4 次。

import random
for i in range(4):
   # random number with seed 9
   random.seed(9)
   for i in range(3):
      print('The random number with seed 9 is:',random.random())
   print('The random number generated is:')

上述代码的输出如下 -

The random number with seed 9 is: 0.46300735781502145
The random number with seed 9 is: 0.37331193139504204
The random number with seed 9 is: 0.13853941251445523
The random number generated is:
The random number with seed 9 is: 0.46300735781502145
The random number with seed 9 is: 0.37331193139504204
The random number with seed 9 is: 0.13853941251445523
The random number generated is:
The random number with seed 9 is: 0.46300735781502145
The random number with seed 9 is: 0.37331193139504204
The random number with seed 9 is: 0.13853941251445523
The random number generated is:
The random number with seed 9 is: 0.46300735781502145
The random number with seed 9 is: 0.37331193139504204
The random number with seed 9 is: 0.13853941251445523
The random number generated is:
python_modules.htm
广告

© . All rights reserved.