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检测手机QQ在线状态的脚本代码
Feb 10 Python
Python的Flask框架中Flask-Admin库的简单入门指引
Apr 07 Python
Python 基础教程之str和repr的详解
Aug 20 Python
使用python画个小猪佩奇的示例代码
Jun 06 Python
pyqt5的QWebEngineView 使用模板的方法
Aug 18 Python
python实现手机销售管理系统
Mar 19 Python
Python socket 套接字实现通信详解
Aug 27 Python
使用Pytorch来拟合函数方式
Jan 14 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
Mar 23 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
Jul 09 Python
详解python datetime模块
Aug 17 Python
Python中的特殊方法以及应用详解
Sep 20 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 include,include_once,require,require_once
2008/09/05 PHP
PHP nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
2009/08/21 PHP
PHP return语句的另一个作用
2014/07/30 PHP
PHP中Enum(枚举)用法实例详解
2015/12/07 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
javascript实现随机读取数组的方法
2015/08/03 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
JavaScript选择排序算法原理与实现方法示例
2018/08/06 Javascript
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
JS document对象简单用法完整示例
2020/01/14 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
python实现dnspod自动更新dns解析的方法
2014/02/14 Python
python 产生token及token验证的方法
2018/12/26 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
Atom Python 配置Python3 解释器的方法
2019/08/28 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
利用python绘制中国地图(含省界、河流等)
2020/09/21 Python
你不知道的5个HTML5新功能
2016/06/28 HTML / CSS
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
文言文形式的学生求职信
2013/12/03 职场文书
《燕子专列》教学反思
2014/02/21 职场文书
2014年司法所工作总结
2014/11/22 职场文书
承诺函格式模板
2015/01/21 职场文书
高中生个性发展自我评价
2015/03/09 职场文书
升学宴学生致辞
2015/09/29 职场文书
angular异步验证器防抖实例详解
2022/03/31 Javascript