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. DELL 管理软件安装

    dell不进入bios修改cpu为高性能的方法:(在下次重启后生效) 首先安装omsa:安装方法: http://linux.dell.com/repo/hardware/Linux_Reposito ...

  2. 2019-2020-1 20199302《Linux内核原理与分析》第二周作业

    一.实验记录 1.实验代码截屏 本次实验中遇到的一个小问题是: (1)在进行汇编语言编译时,命令行本应是"g/.s*/d ",因为做实验的时候还没有看视频,只是看了书,把" ...

  3. 自定义菜单和高级接口-获取Access Token

    自定义菜单和高级接口都需要使用APPID和AppSecret来创建. 对应暂时没有这些权限的微信公众账号,开发者可以申请测试账号来体验和测试体验微信公众平台的所有高级接口的功能.链接 https:// ...

  4. Storage事件及综合案例

    说到Storage事件,那么就得先给大家说一下localstorage和sessionstorage: 1.localStorage和sessionStorage一样都是用来存储客户端临时信息的对象. ...

  5. Oracle 解决无法生成Snapshot问题

    1. 概述 Specify the number of days of snapshots to choose from ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...

  6. vue中插槽作用域的使用

    一.插槽作用域 1.简单来说就是带参数的插槽: 2.使用方式: 在组件标签内部加一个template标签 在template标签上加一个属性scope 值随意书写 在组件内部用slot进行接受,如果给 ...

  7. php之大文件断点续传

    前段时间做视频上传业务,通过网页上传视频到服务器. 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长, ...

  8. learning java BigDecimal类

    使用BiDecimal类是了为防止运算时精度丢失: var f1 = new BigDecimal("0.05"); var f2 = BigDecimal.valueOf(0.0 ...

  9. mount命令设备的挂载和卸载

    不能挂载到根目录:其他目录都可以 1.光盘设备挂载到mnt mount -t iso99660 /dev/cdrom /mnt 2.光盘镜像文件.so文件挂载到mnt mount -o loop -t ...

  10. [matlab工具箱] 曲线拟合Curve Fitting

    ——转载网络 我的matlab版本是 2016a 首先,工具箱如何打开呢? 在 apps 这个菜单项中,可以找到很多很多的应用,点击就可以打开具体的工具窗口 本文介绍的工具有以下这些: curve F ...