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 过滤字符串的技巧,map与itertools.imap
Sep 06 Python
python算法学习之计数排序实例
Dec 18 Python
python中实现php的var_dump函数功能
Jan 21 Python
python构建自定义回调函数详解
Jun 20 Python
python中logging包的使用总结
Feb 28 Python
Django继承自带user表并重写的例子
Nov 18 Python
pytorch逐元素比较tensor大小实例
Jan 03 Python
python颜色随机生成器的实例代码
Jan 10 Python
python的Jenkins接口调用方式
May 12 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
Feb 22 Python
Django集成富文本编辑器summernote的实现步骤
May 31 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 8 新特性 Attributes
2020/08/19 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
2020/12/10 PHP
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
常用DOM整理
2015/06/16 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
Vue filter介绍及其使用详解
2017/10/21 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
使用webpack-dev-server处理跨域请求的方法
2018/04/18 Javascript
详解JSON Web Token 入门教程
2018/07/30 Javascript
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
python django集成cas验证系统
2014/07/14 Python
通过Pandas读取大文件的实例
2018/06/07 Python
超简单使用Python换脸实例
2019/03/27 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
Python尾递归优化实现代码及原理详解
2020/10/09 Python
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
如何理解transaction事务的概念
2015/05/27 面试题
优秀毕业生求职推荐信范文
2013/11/21 职场文书
宿舍违规检讨书
2014/01/12 职场文书
2015年事业单位工作总结
2015/04/27 职场文书
检讨书格式范文
2015/05/07 职场文书
发票退票证明
2015/06/24 职场文书
2016特色励志班级口号
2015/12/24 职场文书
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL