Python中random模块生成随机数详解

本文给大家汇总了一下在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: a <= n <= b。如果 a <= n <= a。

    

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手册数据模型这一章。下面是使用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手册了解更详细的信息。

Python中random模块生成随机数详解的更多相关文章

  1. python中argparse模块用法实例详解

    python中argparse模块用法实例详解 这篇文章主要介绍了python中argparse模块用法,以实例形式较为详细的分析了argparse模块解析命令行参数的使用技巧,需要的朋友可以参考下 ...

  2. Python 使用random模块生成随机数

    需要先导入 random  模块,然后通过 random 静态对象调用该一些方法. random() 函数中常见的方法如下: # coding: utf-8 # Team : Quality Mana ...

  3. python的random模块生成随机数

    python的random函数 random.random() 生成0-1之间的随机数 random.uniform(a,b)生成a,b之间的浮点数 random.randint(a,b)生成a,b之 ...

  4. python中os模块函数方法详解最全最新

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 import os print(os.getcwd()) os.chdir("dirname") 改 ...

  5. **Python中的深拷贝和浅拷贝详解

    Python中的深拷贝和浅拷贝详解   这篇文章主要介绍了Python中的深拷贝和浅拷贝详解,本文讲解了变量-对象-引用.可变对象-不可变对象.拷贝等内容.   要说清楚Python中的深浅拷贝,需要 ...

  6. python中requests库使用方法详解

    目录 python中requests库使用方法详解 官方文档 什么是Requests 安装Requests库 基本的GET请求 带参数的GET请求 解析json 添加headers 基本POST请求 ...

  7. Python中的变量和作用域详解

    Python中的变量和作用域详解 python中的作用域分4种情况: L:local,局部作用域,即函数中定义的变量: E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部 ...

  8. python中的subprocess.Popen()使用详解---以及注意的问题(死锁)

    从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值. subprocess意在替代其他几个老的模块或者函数 ...

  9. Python中%r和%s的详解及区别_python_脚本之家

    Python中%r和%s的详解及区别_python_脚本之家 https://www.jb51.net/article/108589.htm

随机推荐

  1. Dubbo源码分析(1):Spring集成Dubbo

    spring与dubbo事件 类图

  2. python 之类、self

    类是什么 可以视为种类或者类型的同义词.所有的对象都属于某一个类,称为类的实例. 例如:鸟就是"鸟类"的实例.这就是一个有很多子类的一般(抽象)类:看到的鸟可能属于子类" ...

  3. (转载) 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    安装完之后别忘了还需要安装SSMS,这是坑爹的地方之二,干嘛不集成到SQL Server安装包里还要用户自己单独下载 下载地址:https://msdn.microsoft.com/en-us/lib ...

  4. C# 跨域 请求带cookie

    原文:https://blog.csdn.net/z69183787/article/details/78954325 背景: 别个的项目,要开发App接口,要求用前端AJAX的方式访问接口数据. 后 ...

  5. noi.ac #43 dp计数

    \(sol\) 状态 \[f_{i, dis_1, dis_2, dis_3, dis_4}\] 表示到了第 \(i\) 层,其中 \(dis_{1}\) 表示第一根柱子剩下的最靠上的横木到当前 \( ...

  6. 10、spark高级编程

    一.基于排序机制的wordcount程序 1.要求 1.对文本文件内的每个单词都统计出其出现的次数. 2.按照每个单词出现次数的数量,降序排序. 2.代码实现 ------java实现------- ...

  7. org.apache.ibatis.cache.CacheException: Error serializing object

    异常: 十二月 26, 2017 3:38:05 下午 org.apache.jasper.servlet.TldScanner scanJars 信息: At least one JAR was s ...

  8. Kafka与ActiveMQ区别

    Kafka 是LinkedIn 开发的一个高性能.分布式的消息系统,广泛用于日志收集.流式数据处理.在线和离线消息分发等场景.虽然不是作为传统的MQ来设计,在大部分情况,Kafaka 也可以代替原先A ...

  9. SpringMVC将通过ajax发送的 json数据封装成JavaBean

    SpringMVC将通过ajax发送的 json数据封装成JavaBean 通过ajax发送的 json数据封装成JavaBean对发送时有如下要求: 1.发送的数据类型必须时UTF-8 2.发送的必 ...

  10. [Linux] RTC 读写指令及测试程序

    CPU:RK3288 系统:Linux IC:hym8563 在 Linux 系统中,指令 date 和 hwclock 都可以读写时间 date:读写系统时间,写时间需要管理员权限 hwclock: ...