Python生成随机数的一个标准库-random

1.介绍

Random库Python中用于生成随机数的一个标准库。计算机没有办法产生真正的随机数,但它可以产生伪随机数。

伪随机数是计算机按照一定的运算规则产生的一些数据,只不过这些数据表现为随机数的形式。计算机中采用梅森旋转算法生成为随机序列,序列中的每一个元素就是伪随机数,由于计算机不能产生真正的随机数,所以伪随机数也就被称为随机数。

Random库包含两类函数,常用的有8个:

  • 基本随机函数:seed(),random()

  • 扩展随机函数:randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()

2.基本随机数函数

Python中的随机数使用随机数种子来产生,随机数种子通过梅森旋转算法产生随机序列,这个随机序列是唯一并且确定的,随机序列中的每一个数就是随机数。换句话说,只要随机数种子相同,那么产生的随机序列无论是每一个数,还是数之间的关系都是相同的。

seed(a=None)

初始化给定的随机数种子,默认为当前时间

random()

生成一个[0.0,1.0)之间的随机小数(大于等于0,小于1)。

根据随机数种子产生随机序列,产生后第一次调用该函数,则返回序列的第0个元素;

第二次调用,则返回序列的第1个元素......以此类推。

实例1:

使用默认的随机数种子产生随机数

>>> import random
>>> random.seed()
>>> random.random()
0.4583742792868192
>>> random.random()
0.9905749191276231
>>> random.seed()
>>> random.random()
0.8846207230562237
>>> random.random()
0.13447072126096293

实例2:
使用固定的随机数种子产生随机数

>>> import random
>>> random.seed(10)
>>> random.random()
0.5714025946899135
>>> random.random()
0.4288890546751146
>>> random.seed(10)
>>> random.random()
0.5714025946899135
>>> random.random()
0.4288890546751146

3.扩展随机数函数

randint(a,b)

生成一个[a,b]之间的随机整数(大于等于a,小于等于b)。例如:

>>> import random
#Python小白学习交流群:725638078
>>> random.randint(1,9)
3
randrange(m,n[,k]) 	

生成一个[m,n)之间以k为步长的随机整数(大于等于m,小于n)。例如:

>>> import random
>>> random.randrange(10,110,10)
20
getrandbits(k) 	

生成一个长度为k的二进制随机整数。例如:

>>> import random
>>> random.getrandbits(16)
17266
uniform(a,b) 	

生成一个[a,b]之间的随机小数(大于等于a,小于等于b)。例如:

>>> import random
>>> random.uniform(10,20)
12.484765001518227
choice(seq) 	

从序列seq中随机选择一个元素。例如:

>>> import random
>>> random.choice((1,2,3,4,5,6,7,8))
4
shuffle(seq) 	

将变量序列seq中元素随机排序,并返回给序列的变量。例如:

>>> import random
>>> seq=[1,2,3,4,5,6,7]
>>> random.shuffle(seq)
>>> print(seq)
[4, 3, 2, 1, 7, 6, 5]

原文链接:https://www.cnblogs.com/djdjdj123/p/17356465.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python生成随机数的一个标准库-random - Python技术站

(0)
上一篇 2023年4月27日
下一篇 2023年4月27日

相关文章

  • Python标识符命名规范

    Python中的标识符一般有这几种:变量名、类名、函数名、模块名等,这些标识符的命名需要遵守一定的规范。 具体来讲,Python标识符的命名规则有以下几种: 标识符由字符(A~Z 和 a~z)、下划线和数字组成。 标识符的第一个字符不能是数字。 标识符不能和Python中的关键字相同。 Python标识符的字母严格区分大小写,也就是说,同样的单词,大小写不一…

    2022年11月13日
    10
  • Python实现求笛卡尔乘积的方法

    下面是Python实现求笛卡尔乘积的方法的完整攻略。 什么是笛卡尔乘积 笛卡尔乘积,又称直积,是指在数学中,两个集合 X 和 Y 的笛卡尔积(Cartesian product),又称作直积,表示为 X × Y,第一个对象是 X 的成员,第二个对象是 Y 的所有可能成员构成的集合。两个集合的笛卡尔积,是一个集合,它的成员是有序对,由一个来自第一个集合的成员,…

    python 2023年5月14日
    00
  • Python实现点阵字体读取与转换的方法

    下面是详细的攻略: 背景 在很多嵌入式系统和可编程设备中,像LED点阵屏幕、液晶显示屏等中文显示会使用点阵字库。而点阵字库的生成方法可以通过文字转换为点矩阵数据。本文将介绍如何使用Python实现点阵字体的读取与转换的方法。 实现方法 字体文件格式 在这个方法中,我们使用的点阵字体文件的数据格式是C文件头和字体数据块,采用C数组的方式表示字体数据。头文件描述…

    python 2023年5月31日
    00
  • 浅析python中特殊文件和特殊函数

    浅析Python中特殊文件和特殊函数 在Python中,有一些特殊的文件和函数。它们在代码执行过程中扮演着重要的角色,简化了代码实现的过程。本文将对这些特殊的文件和函数进行简要分析。 特殊文件 __init__.py 在Python中,每个文件夹都可以作为一个模块被调用,其中的__init__.py文件作为该模块的初始化文件。该文件可以包含模块所需的全局变量…

    python 2023年5月13日
    00
  • python正则表达式实例代码

    当我们需要对文本进行匹配、查找、替换、分割等操作时,正则表达式是一种非常强大的工具。在Python中,我们可以使用re模块来处理正则表达式。本文将详细讲解Python正则表达式实例代码的完整攻略,包括正则表达式的基本语法、常用函数和两个示例说明。 正则表达式的基本语法 正则表达式是由普通字符和元字符组成的字符串,用来描述文本模式。下面是一些常用的正则表达式元…

    python 2023年5月14日
    00
  • python处理json字符串(使用json.loads而不是eval())

    处理JSON字符串是Python语言的一个常见任务,但是不应该使用内置的eval()函数来解决它。eval()会执行传递给它的字符串,这可能会导致代码注入攻击。相反,我们应该使用Python自带的json库中的loads()函数来解决这个问题。 处理JSON字符串的一般步骤如下: 引入json库: import json 用json.loads()函数解析J…

    python 2023年6月3日
    00
  • python实现一个简单的并查集的示例代码

    下面就为您详细讲解“Python实现一个简单的并查集的示例代码”的完整攻略。 什么是并查集? 并查集(Disjoint Set)是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。 实现思路 实现一个并查集需要考虑以下几个部分: 初始化并查集:将每个元素的父节点指向自己,表示它们都是一个单独的…

    python 2023年5月13日
    00
  • Python中Collection的使用小技巧

    以下是“Python中Collection的使用小技巧”的完整攻略。 1. Collection的概述 在Python中,Collection是一种常用的数据类型,它含了多有用的数据结构,例如列表(list)、元组(tuple)、集合(set)、字典(dict)等。Collection提供了许多方便的方法和函数,可以帮助我们更高效地处理数据。本攻略将介绍Py…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部