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 24 Python
Python中的Numeric包和Numarray包使用教程
Apr 13 Python
简单掌握Python中glob模块查找文件路径的用法
Jul 05 Python
详解python开发环境搭建
Dec 16 Python
python导入时小括号大作用
Jan 10 Python
浅析python打包工具distutils、setuptools
Apr 20 Python
python  创建一个保留重复值的列表的补码
Oct 15 Python
对python实现模板生成脚本的方法详解
Jan 30 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
使用TensorFlow对图像进行随机旋转的实现示例
Jan 20 Python
pip install 使用国内镜像的方法示例
Apr 03 Python
python自动化调用百度api解决验证码
Apr 13 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中exec与system用法区别分析
2014/09/22 PHP
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
Prototype Hash对象 学习
2009/07/19 Javascript
csdn 论坛技术区平均给分功能
2009/11/07 Javascript
改善你的jQuery的25个步骤 千倍级效率提升
2010/02/11 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
node.js中的fs.fsyncSync方法使用说明
2014/12/15 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
js实现圆盘记速表
2015/08/03 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
2015/11/15 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
2016/05/31 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
python爬虫之BeautifulSoup 使用select方法详解
2017/10/23 Python
python事件驱动event实现详解
2018/11/21 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
Django ORM 查询表中某列字段值的方法
2020/04/30 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
2020/09/23 Python
台湾生鲜宅配:大口市集
2017/10/14 全球购物
英国玛莎百货澳大利亚:Marks & Spencer Australia
2019/08/30 全球购物
个人自我剖析材料
2014/02/07 职场文书
产品开发计划书
2014/04/27 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
目标责任书格式范文
2015/05/11 职场文书
盗窃案辩护词
2015/05/21 职场文书
关于远足的感想
2015/08/10 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python