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 pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
用Python解析XML的几种常见方法的介绍
Apr 09 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
Python中pow()和math.pow()函数用法示例
Feb 11 Python
基于python log取对数详解
Jun 08 Python
python+pandas+时间、日期以及时间序列处理方法
Jul 10 Python
对python tkinter窗口弹出置顶的方法详解
Jun 14 Python
如何基于Python获取图片的物理尺寸
Nov 25 Python
常用python爬虫库介绍与简要说明
Jan 25 Python
Python 代码调试技巧示例代码
Aug 11 Python
浅析python实现动态规划背包问题
Dec 31 Python
Python3利用openpyxl读写Excel文件的方法实例
Feb 03 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
一个简单的自动发送邮件系统(一)
2006/10/09 PHP
PHP Stream_*系列函数
2010/08/01 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
可输入的下拉框
2006/06/19 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
javascript如何创建对象
2016/08/29 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
[47:55]Ti4第二日主赛事败者组 NaVi vs EG 1
2014/07/20 DOTA
python抓取搜狗微信公众号文章
2019/04/01 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
python和js交互调用的方法
2020/06/23 Python
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
《两只鸟蛋》教学反思
2014/02/10 职场文书
入学申请自荐信范文
2014/02/26 职场文书
风险评估实施方案
2014/03/09 职场文书
社区文艺活动方案
2014/08/19 职场文书
对照检查剖析材料
2014/09/30 职场文书
股份转让协议书范本
2015/01/27 职场文书
导游词之金鞭溪风景区
2019/09/12 职场文书
HTML5页面音频自动播放的实现方式
2021/06/21 HTML / CSS
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server