Python中的随机数生成器
时间:2020-02-23 14:43:43 来源:igfitidea点击:
我们可以使用Python随机模块生成随机数。
我们可以使用该模块生成随机整数,浮点数或者随机数序列。
1.用Python生成随机整数
Python随机模块randint()函数可以在给定的端点之间生成一个随机数。
>>> from random import randint >>> >>> randint(1, 10) 6 >>> randint(1, 10) 8 >>> randint(1, 10) 2
请注意,randint()
在生成随机整数时包括两个端点。
如果您不希望包含第二个端点,请使用randrange()
函数。
>>> from random import randrange >>> >>> randrange(1, 10) 8 >>>
2.在Python中生成随机浮点数
随机模块具有range()
函数,该函数生成介于0(含)和1(不含)之间的随机浮点数。
>>> import random >>> >>> random.random() 0.5453202789895193 >>> random.random() 0.9264563336754832 >>>
没有单独的方法可以在给定范围之间生成浮点数。
为此,只需将其乘以所需的范围即可。
这是一个简单的程序,用于生成0到100之间的随机浮点数。
>>> random.random() * 100 28.226855764270553 >>> random.random() * 100 41.844280268733115 >>>
3.从序列中选择一个随机数
我们还可以使用random模块使用choice()方法从序列中选择一个随机数。
>>> from random import choice >>> nums = [1,3,5,7,9,11] >>> choice(nums) 5 >>> choice(nums) 7 >>> choice(nums) 3 >>> choice(nums) 3 >>>
4.快速随机种子
当我们调用随机模块函数时,它将在内部初始化Random类,并使用当前系统时间生成种子值。
然后,该种子值用于生成随机数。
我们还可以设置随机种子,在这种情况下,每次都会生成相同的随机数序列。
让我们通过一个简单的例子来了解这种行为。
>>> import random >>> >>> random.seed(1000) >>> >>> random.random() 0.7773566427005639 >>> random.random() 0.6698255595592497 >>> random.random() 0.09913960392481702 >>> >>> random.seed(1000) # resetting the seed again to 1000 >>> >>> random.random() 0.7773566427005639 >>> random.random() 0.6698255595592497 >>> random.random() 0.09913960392481702 >>>
请注意,每次生成的随机数都遵循相同的顺序。
除非您想要这样,否则请避免设置随机种子值。