本文实例讲述了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

#函数原型为: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

PS:这里再提供几款相关工具供大家参考使用:

希望本文所述对大家Python程序设计有所帮助。

python random库生成伯努利随机数的方法_Python使用random模块生成随机数操作实例详解...相关推荐

  1. python中sys用法_Python中sys模块功能与用法实例详解

    Python中sys模块功能与用法.,具体如下: sys-系统特定的参数和功能 该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数.它始终可用. sys.argv 传递给Pyth ...

  2. python代码覆盖率测试_unittest+coverage单元测试代码覆盖操作实例详解_python

    这篇文章主要为大家详细介绍了unittest+coverage单元测试代码覆盖操作的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 基于上一篇文章,这篇文章是关于使用coverage来实现代码 ...

  3. MATLAB生成伯努利图分布,C++ - 随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码...

    随机生成器 伯努利分布(bernoulli distribution) 的 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/deta ...

  4. python爬虫beautifulsoup爬当当网_Python爬虫包 BeautifulSoup 递归抓取实例详解_python_脚本之家...

    Python爬虫包 BeautifulSoup  递归抓取实例详解 概要: 爬虫的主要目的就是为了沿着网络抓取需要的内容.它们的本质是一种递归的过程.它们首先需要获得网页的内容,然后分析页面内容并找到 ...

  5. python的shutil模块是内置的_Python之shutil模块11个常用函数详解,python内置函数是什么...

    Python之shutil模块11个常用函数详解,python内置函数是什么 shutil 是 Python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建.删除.查 ...

  6. python中类的构成_Python中类型关系和继承关系实例详解

    本文详细介绍了Python中类型关系和继承关系.分享给大家供大家参考.具体分析如下: 如果一个对象A持有另一个对象B的ID,那么检索到A之后就可以检索到B,我们就说存在一个A到B的导航.这种导航关系使 ...

  7. python之33个关键字详解_Python解析、提取url关键字的实例详解

    解析url用的类库: python2版本: from urlparse import urlparse import urllib python3版本: from urllib.parse impor ...

  8. python 元组拆包_Python元组拆包和具名元组解析实例详解

    前言 在Python中元组是一个相较于其他语言比较特别的一个内置序列类型.有些python入门教程把元组成为"不可变的列表",这种说法是不完备的,其并没有完整的概括元组的特点.除了 ...

  9. python比例图_python在地图上画比例的实例详解

    现在用python画图已经难不倒一直跟小编学习的小伙伴们了,甚至有的小伙伴画图比小编还要厉害.为此小编还偷偷下了一番功夫,画图这种事情,细节上的完善肯定能让图片更加好看.所以小编知道大家会画地图,但是 ...

  10. python random库生成伯努利随机数的方法_详解Python基础random模块随机数的生成

    随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入ran ...

最新文章

  1. PCL点云分割(1)
  2. Intellij IDEA使用教程(超详细)
  3. python3的各个版本有什么区别_python不同版本的_new_不同点总结
  4. 基于Springboot实现仿百度网盘开发
  5. Leetcode255用队列构造栈
  6. POJ - 3662 Telephone Lines(分层图最短路)
  7. jquery中如何表达本页网址_如何用js得到当前页面的url信息方法(JS获取当前网址信息)...
  8. 关于highslide的一点学习
  9. 远程监督在关系抽取中的应用
  10. Python-数据类型-4 第七次全国人口普查数据分析
  11. 浙大pintia答案c语言,浙大版《C语言程序设计(第3版)》题目集 - 学习笔记 - 编程题 - 习题3-3 出租车计价...
  12. CV LRO mission (LROC introduction)
  13. 如何在线ico转jpg格式?如何将ico转换图片格式?
  14. LoadLibraryA加载dll失败
  15. Windows 镂空图标,“百变硬汉”
  16. 文字的纵向显示的问题 cdc drawtext
  17. 人脸识别 无法打开相机 笔记本_笔记本上的人脸识别怎么用?需要安装驱动吗?...
  18. Android Glide图片加载-缓存机制(内存缓存和磁盘缓存)
  19. 88-On Balance Volume 能量潮指标.(2015.7.4)
  20. 2017年珍爱网面试题

热门文章

  1. 这些神经网络,还可信吗?
  2. PyTorch 的 Autograd详解
  3. 熬夜变傻有科学依据,人类睡觉时会被“洗脑”,科学家首次拍下全程
  4. 17个Python骚操作,你都Ok吗?
  5. 爬虫之requests模块发送post请求
  6. 华为秋招_多数组合并问题
  7. 复习计算机网络基础 day4--OSI与TCP/IP初步认识
  8. 基于视觉的数学公式识别算法介绍
  9. 没项目经验,如何砍下字节算法岗40万offer
  10. 每天2小时,吃透 985博士总结的这份保姆级OpenCV学习笔记(20G高清/PPT/代码)