Python使用random模块生成随机数操作实例详解


Posted in Python onSeptember 17, 2019

本文实例讲述了Python使用random模块生成随机数操作。分享给大家供大家参考,具体如下:

今天在用Python编写一个小程序时,要用到随机数,于是就在网上查了一下关于Python生成各种随机数的方法,现将其总结如下:

此处,利用Python中的random模块生成随机数。因此首先必须导入该模块:import random

一. 随机产生一个元素

import random
#生成一个0到1的随机浮点数: 0 <= n < 1.0
print(random.random())
>>> 0.8296185863491462

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

#生成一个指定范围内的整数。其中参数a是下限,参数b是上限,
#生成的随机数n: a <= n <= b,函数原型为:random.randint(a, b)
#注意:此处要求 a<=b
print(random.randint(1, 10))
>>> 3

#从指定范围内,按指定基数递增的集合中获取一个随机数
#函数原型为:random.randrange(start, stop, step)
#如产生一个0-10的随机数,其步长为2,即[0,2,4,6,8],然后在随机取出一个随机数
print(random.randrange(0, 10, 2))
>>> 2

#从序列中获取一个随机元素。 函数原型为:random.choice(sequence)
#注意:sequence在python不是一种特定的类型,而是泛指一系列的类型;
#注意:list, tuple, 字符串都属于sequence。
print(random.choice( ['apple', 'pear', 'peach', 'orange', 'lemon'] ))
print(random.choice( ('1', '2', '3', '4', '5') ))
print(random.choice( [1, 2, 3, 4, 5] ))
>>> orange
>>> 2
>>> 2

#用于将一个列表中的元素打乱。 函数原型为:random.shuffle(x[, random])
p = ["Python", "is", "powerful", "simple", "and so on..."]
random.shuffle(p)
print(p)
>>> ['Python', 'is', 'simple', 'powerful', 'and so on...']

#从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。
#如果k大于sequence元素个数的话会报错。 函数原型为:random.sample(sequence, k)
list = [1,2,3,4,5,6,7,8,9]
print(random.sample(list, 2))
print(random.sample(list, 5))
>>> [5, 3]
>>> [9, 5, 4, 7, 3]

二.产生一个随机数组

import numpy as np
#例如产生一个随机数组array
#方法一:
a = np.array([2,1,4,5,3,9,6,7,8,0])
print(a)
>>> array([2,1,4,5,3,9,6,7,8,0])

#产生一个(0,1)之间的10维的随机数组
#方法二;
b = np.random.rand(10)
print(b)
>>> array([ 0.43634533, 0.00256198, 0.9252553 , 0.46312913, 0.18253324,
      0.70458872, 0.79719794, 0.18972441, 0.5304701 , 0.11495708])

#产生一个(0,1)之间的10维的随机数组
#方法三;
c = np.random.random(10)
print(c)
>>> array([ 0.62725822, 0.69752737, 0.67910128, 0.32876791, 0.05591991,
      0.71435415, 0.62612756, 0.10492805, 0.45868039, 0.66527572])

#产生一个(0,1)之间的 3*4 的数组矩阵
#方法三;
d = np.random.random(size = (3,4))
print(d)
>>> array([[ 0.81287511, 0.07447028, 0.83052561, 0.69899251],
      [ 0.30087294, 0.24102044, 0.2261788 , 0.7931203 ],
      [ 0.10688122, 0.93165383, 0.02486699, 0.66883373]])

三.随机产生一个list或tuple

import random
#例如随机产生一个指定范围的整数list或tuple
#方法一:
a = [random.randint(0,5) for i in range(20)]
print(a)

#方法二;
for _ in range(10):
  b = random.randint(0,5)
  print(b)

结果为:

[5, 2, 0, 1, 3, 2, 4, 1, 2, 3, 5, 1, 1, 3, 1, 3, 1, 1, 3, 0]
4
2
1
1
3
0
5
4
4
5

Python 相关文章推荐
浅谈scrapy 的基本命令介绍
Jun 13 Python
详解Python map函数及Python map()函数的用法
Nov 16 Python
Python实现针对给定字符串寻找最长非重复子串的方法
Apr 21 Python
浅谈django rest jwt vue 跨域问题
Oct 26 Python
使用Python进行目录的对比方法
Nov 01 Python
python+selenium 定位到元素,无法点击的解决方法
Jan 30 Python
python通过paramiko复制远程文件及文件目录到本地
Apr 30 Python
numpy创建单位矩阵和对角矩阵的实例
Nov 29 Python
python日期与时间戳的各种转换示例
Feb 12 Python
Django多层嵌套ManyToMany字段ORM操作详解
May 19 Python
Python工程师必考的6个经典面试题
Jun 28 Python
搭建pypi私有仓库实现过程详解
Nov 25 Python
python同时替换多个字符串方法示例
Sep 17 #Python
python 函数的缺省参数使用注意事项分析
Sep 17 #Python
Python 字符串、列表、元组的截取与切片操作示例
Sep 17 #Python
Python 实现大整数乘法算法的示例代码
Sep 17 #Python
Python对接 xray 和微信实现自动告警
Sep 17 #Python
Python计算两个矩形重合面积代码实例
Sep 16 #Python
详解Python3 pickle模块用法
Sep 16 #Python
You might like
php实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
CI框架简单邮件发送类实例
2016/05/18 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
Thinkphp3.2实用篇之计算型验证码示例
2017/02/09 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
javascript编程起步(第七课)
2007/02/27 Javascript
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
2010/03/16 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
JavaScript实现简单的星星评分效果
2017/05/18 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
JS实现百度网盘任意文件强制下载功能
2018/08/31 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
以一段代码为实例快速入门Python2.7
2015/03/31 Python
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
Python之ReportLab绘制条形码和二维码的实例
2018/01/15 Python
python使用tornado实现简单爬虫
2018/07/28 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
Python IDE环境之 新版Pycharm安装详细教程
2020/03/05 Python
如何在vscode中安装python库的方法步骤
2021/01/06 Python
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
2013/11/07 HTML / CSS
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
合伙购房协议样本
2014/10/06 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
同学聚会通知书
2015/04/20 职场文书
公司团队口号霸气押韵
2015/12/24 职场文书
Go语言基础函数基本用法及示例详解
2021/11/17 Golang