什么是Python中的随机数生成器以及如何使用它?

举报
Yuchuan 发表于 2021/02/26 21:23:58 2021/02/26
【摘要】 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中的随机数生成器”的文章结尾。希望您已理解所有概念。

确保尽可能多地练习并恢复经验。  
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。