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程序中实现分布式进程的教程
Apr 28 Python
详解Python命令行解析工具Argparse
Apr 20 Python
python format 格式化输出方法
Jul 16 Python
django框架之cookie/session的使用示例(小结)
Oct 15 Python
在linux下实现 python 监控usb设备信号
Jul 03 Python
详解python uiautomator2 watcher的使用方法
Sep 09 Python
对Matlab中共轭、转置和共轭装置的区别说明
May 11 Python
SpringBoot首页设置解析(推荐)
Feb 11 Python
Django视图类型总结
Feb 17 Python
使用pycharm运行flask应用程序的详细教程
Jun 07 Python
PYTHON使用Matplotlib去实现各种条形图的绘制
Mar 22 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
Apr 12 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常用字符串的总结(待续)
2013/06/07 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
2016/07/12 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
javascript 动态调整图片尺寸实现代码
2009/12/28 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
node.js读取文件到字符串的方法
2015/06/29 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
javascript实现简易计算器
2017/02/01 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
2017/07/31 Javascript
详解组件库的webpack构建速度优化
2018/06/18 Javascript
vue实现axios图片上传功能
2019/08/20 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
超详细小程序定位地图模块全系列开发教学
2020/11/24 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
浅谈插入排序算法在Python程序中的实现及简单改进
2016/05/04 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
python基于C/S模式实现聊天室功能
2019/01/09 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
Python发送邮件实现基础解析
2020/08/14 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
英国最大的在线时尚眼镜店:Eyewearbrands
2019/03/12 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
最新奶茶店创业计划书范文
2014/02/08 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
邀请函样本
2015/02/02 职场文书
幼儿园奖惩制度范本
2015/08/05 职场文书
聘任书格式及范文
2015/09/21 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
小学数学教师研修日志
2015/11/13 职场文书