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 相关文章推荐
详解Python验证码识别
Jan 25 Python
Python获取SQLite查询结果表列名的方法
Jun 21 Python
Python编程之string相关操作实例详解
Jul 22 Python
解决Tensorflow使用pip安装后没有model目录的问题
Jun 13 Python
对numpy.append()里的axis的用法详解
Jun 28 Python
python 统计列表中不同元素的数量方法
Jun 29 Python
Python类的继承、多态及获取对象信息操作详解
Feb 28 Python
python快排算法详解
Mar 04 Python
Pycharm创建项目时如何自动添加头部信息
Nov 14 Python
python dict如何定义
Sep 02 Python
python实现扫雷游戏的示例
Oct 20 Python
python opencv实现图像配准与比较
Feb 09 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编程与应用
2006/10/09 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
使用jQuery动态加载js脚本文件的方法
2014/04/03 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
Firefox中使用outerHTML的2种解决方法
2014/06/07 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
js实现表格筛选功能
2017/01/18 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
ES6入门教程之Class和Module详解
2017/05/17 Javascript
jQuery实现碰到边缘反弹的动画效果
2018/02/24 jQuery
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
javascript实现评分功能
2020/06/24 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
解决pandas 作图无法显示中文的问题
2018/05/24 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
美国鲜花递送:UrbanStems
2021/01/04 全球购物
公务员的自我鉴定
2013/10/26 职场文书
公务员平时考核实施方案
2014/03/11 职场文书
英语求职信范文
2014/05/23 职场文书
医学生求职自荐书
2014/06/12 职场文书
农村婚庆主持词
2015/06/29 职场文书
python数字图像处理:图像简单滤波
2022/06/28 Python
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android