在Python中生成伪随机数

许多计算机应用程序需要生成随机数。但是,它们都不产生真正的随机数。像其他编程技术一样,Python使用伪随机数生成器。Python的随机生成基于产生53位精度浮点数的Mersenne Twister算法。该技术快速且线程安全,但不适用于加密目的。

Python的标准库包含random模块,该模块定义用于处理随机化的各种功能。

random.seed() -此函数初始化随机数生成器。导入随机模块时,将在系统时间的帮助下初始化生成器。要重新设置生成器的种子,请使用任何int,str,byte或bytearray对象。

random.getstate() -此函数与setstate()函数一起帮助一次又一次地再现相同的随机数据。该getstate()函数返回随机数生成器的内部状态。

random.setstate() -此函数恢复生成器的内部状态。

以下函数处理随机整数生成-

random.randrange() -此函数在给定范围之间生成一个随机整数。它可以采用三个参数。

random.randrange(start, stop, step)

start和step参数是可选的。它们的默认值分别为0和1。步骤确定连续数字之间的间隔。

>>> random.randrange(10)

5

>>> random.randrange(10, 20)

17

>>> random.randrange(100, 200, 2)

188

(注意:请记住,以上语句的输出以及本文中的其余语句可能与随机生成的不同)

random.randint() -此函数在两个参数之间生成一个随机整数。类似于randrange()没有步长参数的功能。启动参数是强制性的。

>>> random.randint(1,10)

6

>>> random.randint(100, 200)

134

以下函数处理浮点随机数。

random.random() -此函数随机生成一个介于0.0和1.0之间的浮点数

>>> random.random()

0.668544544081956

random.uniform() -此函数返回两个参数之间的浮点随机数。

>>> random.uniform(0.5,1.5)

1.2760281470664903

>>> random.uniform(1,10)

7.336985794193224

>>> random.uniform(10,5)

7.817794757786727

以下函数作用于序列对象,即。字符串,列表或元组。

random.choice() -此函数从序列中选择一个随机元素。如果序列为空,则抛出IndexError。

>>> random.choice("Nhooo")

'o'

>>> random.choice(range(10))

2

>>> random.choice([15,31,6,29,55, 5])

55

>>> random.choice((15,31,6,29,25, 55))

15

random.choices() -此函数以随机方式从列表中选择多个元素。此功能的第一个参数是顺序,第二个参数是要选择的数量。

>>> name = "nhooo"

>>> random.choices(name, k = 2)

['T', 'o']

random.shuffle() -此函数以可变序列对元素重新排序并将其随机放置。

>>> num = [10,20,30,40,50]

>>> random.shuffle(num)

>>> num

[50, 20, 40, 30, 10]

random.sample() -此函数适用于不可变序列。它从序列中返回一个随机选择的项目的列表,保持原样。

>>> name = "nhooo"

>>> nm = random.sample(name, k = 2)

>>> name, nm

('nhooo', ['i', 'a'])

以上是 在Python中生成伪随机数 的全部内容, 来源链接: utcz.com/z/357901.html

回到顶部