Python中的random模块用于生成随机数

Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。

random.random

random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0

random.uniform

  random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: b <= n <= a。如果 a <b, 则 a <= n <= b。

 print random.uniform(10, 20)  
 print random.uniform(20, 10)  
 #---- 结果(不同机器上的结果不一样) 
 #18.7356606526 
 #12.5798298022 

random.randint

  random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

 print random.randint(12, 20)  #生成的随机数n: 12 <= n <= 20 
 print random.randint(20, 20)  #结果永远是20 
 #print random.randint(20, 10)  #该语句是错误的。下限必须小于上限。 

random.randrange

  random.randrange的函数原型为:random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。

random.choice

  random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。有关sequence可以查看python手册数据模型这一章,也可以参考:http://www.17xie.com/read-37422.html 。下面是使用choice的一些例子:

 print random.choice("学习Python")   
 print random.choice(["JGood", "is", "a", "handsome", "boy"])  
 print random.choice(("Tuple", "List", "Dict"))  

random.shuffle

  random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。如:

 p = ["Python", "is", "powerful", "simple", "and so on..."]  
 random.shuffle(p)  
 print p  
 #---- 结果(不同机器上的结果可能不一样。) 
 #['powerful', 'simple', 'is', 'Python', 'and so on...'] 

random.sample

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

 list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  
 slice = random.sample(list, 5)  #从list中随机获取5个元素,作为一个片断返回 
 print slice  
 print list #原有序列并没有改变。 

   上面这些方法是random模块中最常用的,在Python手册中,还介绍其他的方法。感兴趣的朋友可以通过查询Python手册了解更详细的信息。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏tkokof 的技术,小趣及杂念

数学小记

结果为 2n + 1, 考虑到任一奇数都可以表示成这种形式,所以使用以下构造方法即可立即得到上述的b和c:

1233
来自专栏吴伟祥

认识XPath(确定XML文档中某部分位置的语言)

XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。

811
来自专栏C/C++基础

迷宫问题(maze problem)——深度优先(DFS)与广度优先搜索(BFS)求解

给定一个迷宫,指明起点和终点,找出从起点出发到终点的有效可行路径,就是迷宫问题(maze problem)。

1.4K1
来自专栏AI派

TensorFlow修炼之道(2)——变量(Variable)

变量(Variable)是 TensorFlow 中程序处理的共享持久状态的最佳方法。与常量不同的时,常量创建后,值便无法更改,但是变量创建后 可以修改。并且修...

3434
来自专栏landv

c语言_头文件

1993
来自专栏mathor

LeetCode342. 4的幂

 这是上一道题2的幂的进阶,首先我们看和2的幂有什么不同。2的幂有1,2,4,8......,而4的幂有1,4,16,64,也就是说少了2,8,32......

882
来自专栏西枫里博客

单数据和批量数据的删除操作

通常对某条数据的删除和某一批数据的删除分别采用两个成员方法。这样太累赘了一些,为了使用批量删除的成员方法,就需要构造单数据的结构。这里以ID为数组作为例子

953
来自专栏用户2442861的专栏

awk工作常用技巧

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

892
来自专栏数据结构与算法

P1418 选点问题

题目描述 给出n个点,m条边,每个点能控制与其相连的所有的边,要求选出一些点,使得这些点能控制所有的边,并且点数最少。同时,任意一条边不能被两个点控制 输入输出...

34111
来自专栏机器学习算法与Python学习

Numpy

Numpy Numpy是Python中用于科学计算的核心库。它提供了高性能的多维数组对象,以及相关工具。(本文文末的原文链接为numpy的官方文档) NumPy...

3437

扫码关注云+社区

领取腾讯云代金券