python中random函数_python--random库基本介绍

random库是使用随机数的Python标准库

python中用于生成伪随机数的函数库是random

因为是标准库,使用时候只需要import random

random库包含两类函数,常用的共9个

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

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

基本随机数

基本随机函数

函数

描述

seed(a=None)

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

>>>random.seed(10) #产生种子10对应的序列

random()

生成一个[0.0,1.0)之间的随机小数

>>>random.random()

0.5714025946899135 #随机数产生与种子有关,如果种子是1哦,第一个数必定是这个

使用随机数种子的好处是可以复现有随机数的程序

扩展随机数函数

在random库中,最基本的是seed 和random 函数,但时功能比较单一,为此产生了6个扩展随机数函数

扩展随机数函数

函数

描述

randint(a,b)

生成一个[a,b]之间的整数

>>>random.randint(10,100)

randrange(m,n[,k])

生成一个[m,n)之间以k为步长的随机整数

>>>random.randrange(10,100,10)

getrandbits(k)

生成一个k比特长的随机整数

>>>random.getrandbits(16)

37885

uniform(a,b)

生成一个[a,b]之间的随机小数

>>>random.uniform(10,100)

16.848041210321334

choice(seq)

序列相关

从序列中随机选择一个元素

>>>random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9])

8

shuffle(seq)

序列相关

将序列seq中元素随机排列,返回打乱后的序列

>>>s=[1, 2, 3, 4, 5, 6, 7, 8, 9]; random.shuffle(s); print(s)

[9, 4, 6, 3, 5, 2, 8, 7, 1]

sample()

random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列

代码如下:

print(random.sample('abcdefghijklmnopqrstuvwxyz', 3))

#打印结果['a', 'o', 'p']

下面举一些常见的例子:

随机整数:

代码如下:

>>> import random

>>> random.randint(0,99)

# 21

随机选取0到100间的偶数:

代码如下:

>>> import random

>>> random.randrange(0, 101, 2)

# 42

随机浮点数:

代码如下:

>>> import random

>>> random.random()

0.85415370477785668

>>> random.uniform(1, 10)

# 5.4221167969800881

随机字符:

代码如下:

>>> import random

>>> random.choice('abcdefg%^*f')

# 'd'

多个字符中选取特定数量的字符:

代码如下:

>>> import random

random.sample('abcdefghij', 3)

# ['a', 'd', 'b']

多个字符中选取特定数量的字符组成新字符串:

代码如下:

>>> import random

>>>''.join( random.sample(['a','b','c','d','e','f','g','h','i','j'], 3) )

# 'fih'

随机选取字符串:

代码如下:

>>> import random

>>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )

# 'lemon'

洗牌:

代码如下:

>>> import random

>>> items = [1, 2, 3, 4, 5, 6]

>>> random.shuffle(items)

>>> items

# [3, 2, 5, 6, 4, 1]

参考文档: http://www.jb51.net/article/50066.htm

https学习笔记二----基础密码学知识和python pycrypto库的介绍使用

在更详细的学习HTTPS之前,我也觉得很有必要学习下HTTPS经常用到的加密编码技术的背景知识.密码学是对报文进行编解码的机制和技巧.可以用来加密数据,比如数据加密常用的AES/ECB/PKCS5Pa ...

python random库

random模块 >>> import random #随机小数 >>> random.random() # 大于0且小于1之间的小数 0.766433866365 ...

python Re库的介绍

re库的贪婪匹配和最小匹配 后面跟着?变为最小匹配

python标准库总的random函数用法

Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等.random中的一些重要函数的用法:1 ).random() 返回0& ...

Python标准库:1. 介绍

标准库包括了几种不同类型的库. 首先是那些核心语言的数据类型库,比方数字和列表相关的库.在核心语言手冊里仅仅是描写叙述数字和列表的编写方式,以及它的排列,而未定义它的语义. 换一句话说,核心语言手冊仅 ...

Python常用的库简单介绍一下

Python常用的库简单介绍一下fuzzywuzzy ,字符串模糊匹配. esmre ,正则表达式的加速器. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable ...

Python使用turtle库与random库绘制雪花

记录Python使用turtle库与random库绘制雪花,代码非常容易理解,画着玩玩还是可以的. 完整代码如下:   效果图如下:

Python图像处理库:PIL中Image,ImageDraw等基本模块介绍

Python图像处理库:PIL中Image,ImageDraw等基本模块介绍 标签: 图像处理PILPYTHON 2016-08-19 10:58 461人阅读 评论(0) 收藏 举报  分类: 其他 ...

Python小游戏——猜数字教程(random库教程)

今天来开发一个简单的数字逻辑游戏,猜数字(数字炸弹) 首先开发游戏第一件事,了解需求. 猜数字游戏规则: 计算机随机生成一个指定范围的数字,由玩家来猜测, 之后计算机会根据玩家提供数字来与自己生成的数 ...

python基础 — random库

python中用于生成伪随机数的函数库是random 因为是标准库,使用时候只需要import random random库包含两类函数,常用的共8个 --基本随机函数: seed(), random ...

随机推荐

arcpy+PyQt+py2exe快速开发桌面端ArcGIS应用程序

前段时间有一个项目,大体是要做一个GIS数据处理工具. 一般的方法是基于ArcObjects来进行开发,因为我对ArcObjects不太熟悉,所以就思考有没有其他简单快速的方法来做. 在查看ArcGI ...

KEEPALIVED

keepalived 一.原理: 功能:能够自动实现将用户访问的ip转移的方法,故障重启,故障,恢复切换,故障报警 模型:Master/Backup 使用场景:节点少,没有共享存储等等.他只能有一个主 ...

[BZOJ1299]巧克力棒(博弈论)

题目:http://hzwer.com/1976.html 分析:先Orz hzwer 对于盒子外面的巧克力棒,就是Nim游戏. 所以就很容易想到先手第一步最好从盒子中取出m根巧克力棒,使得这些巧克力 ...

【Pro ASP.NET MVC 3 Framework】.学习笔记.7.SportsStore:购物车

3 创建购物车 每个商品旁边都要显示Add to cart按钮.点击按钮后,会显示客户已经选中的商品的摘要,包括总金额.在购物车里,用户可以点击继续购物按钮返回product目录.也可以点击Check ...

(spring-第12回【IoC基础篇】)JavaBean的属性编辑器

在spring实例化bean的最后阶段,spring利用属性编辑器将配置文件中的文本配置值转换为bean属性的对应值,例如: 代码0011

关于C#中timer类

·关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Tim ...

STL 案例分析

#include using namespace std; #include "string" #include # ...

Java算法实例集合(2)

这是Standford一位计算机老师的私藏,里面包含了不少Java/C++的算法实现代码.有兴趣的朋友可以看看.

Hibernate实体映射配置(XML)简单三步完美配置

我们在使用Hibernate框架的时候,非常纠结的地方就是实体和表之间的映射,今天借助汤老师的思路写了小教程,以后配置不用纠结了! 第一步:写注释 格式为:?属性,表达的是本对象与?的?关系. 例:“ ...

Unity 3D Framework Designing(3)——构建View和ViewModel的生命周期

> 对于一个View而言,本质上是一个MonoBehaviour.它本身就具备生命周期这个概念,比如,Awake,Start,Update,OnDestory等.这些是非常好的方法,可以让开发者 ...

你可能感兴趣的:(python中random函数)