什么是Python中的随机数生成器以及如何使用它?
在创建软件时,我们的程序通常需要产生各种项目。这在诸如游戏,OTP生成,赌博等应用程序中最常见。Python借助其内置函数轻松地生成这些值。这篇有关Python中随机数生成器的文章,您将学习如何使用各种内置函数生成数字。
在继续之前,让我们看一下本教程中讨论的主题:
什么是Python中的随机数生成器?
生成器是在每次调用时都会生成项目的函数。Python中的随机数生成器是内置函数,可帮助您在需要时生成数字。这些函数嵌入在Python的random模块中。
请看下表,该表由一些重要的随机数生成器功能以及它们在随机模块中的描述组成:
Function |
Description | 描述 |
seed() |
Values produced will be deterministic, meaning, when the seed number is the same, the same sequence of values will be generated | 产生的值将是确定性的,这意味着,当种子数相同时,将生成相同的值序列 |
randrange() |
Can return random values between the specified limit and interval | 可以返回指定限制和间隔之间的随机值 |
randint() |
Returns a random integer between the given limit | 返回给定限制之间的随机整数 |
choice() |
Returns a random number from a sequence | 从序列中返回一个随机数 |
shuffle() |
Shuffles a given sequence | 随机播放给定的序列 |
sample() |
Returns randomly selected items from a sequence | 返回序列中随机选择的项目 |
uniform() |
Returns floating-point values between the given range | 返回给定范围之间的浮点值 |
现在让我们更深入地研究每一个。
产生整数:
可以使用诸如randrange()和randint()之类的函数生成随机整数。
首先让我们看一下randint()。
randint():
此函数生成给定限制之间的整数。它有两个参数,第一个参数指定下限,第二个参数指定上限。randint(a,b)开始生成从a到b的值,使得:
a <= x <= b(包括a和b)
例子:
import random
random.randint(2,9)
输出: 5
上面的代码可以生成2到9之间的数字(包括限制)。如果要在此范围之间生成多个值,可以使用如下所示的for 循环:
例子:
import random
for x in range(2):
print(random.randint(2,9))
输出:
2
6
如果要间隔生成数字,可以使用randrange()函数。
randrange():
如前所述,randrange()函数允许用户通过逐步超过间隔计数来生成值。
例子:
import random
for x in range(5):
print(random.randrange(2,60,2))
输出:
34
28
14
8
26
如您所见,此处生成的所有数字都是2到60之间的偶数。
您还可以使用随机模块的内置函数生成浮点值。
生成浮点值:
要生成浮点数,可以使用random()和统一函数。
random():
此函数产生的浮点值介于0.0到1.0之间,因此不使用任何参数。请注意,上限不包括在内。因此最大值为9.999。
例子:
import random
for x in range(5):
print(random.random())
输出:
0.18156025373128404
0.19729969175918416
0.6998756928129068
0.16706232338156568
0.059292088577491575
uniform():
与random()函数不同,此函数采用两个参数分别确定下限和上限。
例子:
for x in range(5):
print(random.uniform(6))
输出:
2.3135197730563335
5.752723932545697
4.561236813447408
3.8459675873377863
4.8252929712263235
Python还允许您从给定序列生成随机值。
从给定序列生成值:
这可以使用choice()和sample()函数来完成。
choice():
此函数基本上将序列作为参数,并从中返回随机值。
例子:
for x in range(3):
print(random.choice([1,2,3,4,5,6,7,8,9]))
输出:
3
1
4
如您所见,在上面的输出中,使用for循环返回了三个值,并且所有值都是从给定列表中随机获取的。
sample():
sample()函数从给定序列中选取一个随机序列,并将其作为输出返回。它有两个参数,其中第一个参数是一个序列,第二个参数是整数,用于指定需要在输出中返回多少个值。
例子:
print(random.sample([1,2,3,4,5,6,7,8,9],4))
输出: [ 1、4、5、9 ]
如您所见,以上示例中生成的输出列表由给定序列中的四个随机选择的值组成。
其他功能:
seed():
seed()函数将一个数字作为称为种子的参数,并在每次使用该数字调用该函数时产生相同的随机数。
例子:
random.seed(2)
print(random.random(),random.random(),random.random(),end='nn')
random.seed(3)
print(random.random(),random.random(),random.random(),end='nn')
random.seed(2)
print(random.random(),random.random(),random.random())
输出:
0.9560342718892494 0.9478274870593494 0.05655136772680869 0.23796462709189137 0.5442292252959519 0.36995516654807925 0.9560342718892494 0.9478274870593494 0.05655136772680869
在上面的示例中,seed(2)的输出在每次调用时都是相同的。此功能在需要将相同的随机数传递给各种测试用例的实验中非常有用。
shuffle():
此功能用于随机地随机播放给定的序列。
例子:
mylist=[1,2,3,4,5,6,7,8,9]
random.shuffle(mylist)
print(mylist)
输出: [ 6、8、2、4、3、7、1、5、9 ]
这使我们到了“ Python中的随机数生成器”的文章结尾。希望您已理解所有概念。
- 点赞
- 收藏
- 关注作者
评论(0)