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 23 Python
PyMongo安装使用笔记
Apr 27 Python
python 专题九 Mysql数据库编程基础知识
Mar 16 Python
python 网络编程详解及简单实例
Apr 25 Python
python3安装pip3(install pip3 for python 3.x)
Apr 03 Python
Python使用re模块正则提取字符串中括号内的内容示例
Jun 01 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
运用PyTorch动手搭建一个共享单车预测器
Aug 06 Python
Python流程控制 if else实现解析
Sep 02 Python
django自定义非主键自增字段类型详解(auto increment field)
Mar 30 Python
在keras中实现查看其训练loss值
Jun 16 Python
python双向链表实例详解
May 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连接mysql是否成功的代码分享
2014/01/24 PHP
php返回当前日期或者指定日期是周几
2015/05/21 PHP
ThinkPHP模型详解
2015/07/27 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
php中通用的excel导出方法实例
2017/12/30 PHP
XENON基于JSON变种
2010/07/27 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
JS根据生日月份和日期计算星座的简单实现方法
2016/11/24 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
react基本安装与测试示例
2020/04/27 Javascript
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
python算的上脚本语言吗
2020/06/22 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
简单的项目建议书模板
2014/03/12 职场文书
干部考核评语
2014/04/29 职场文书
小学数学教研活动总结
2014/07/01 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
政审证明范文
2015/06/19 职场文书
2016年党员承诺书范文
2016/03/24 职场文书
创新创业项目计划书该怎样写?
2019/08/13 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang