Python产生随机数的功能在random模块中实现。实现了各种分布的伪随机数生成器

该模块能够生成0到1的浮点随机数,也能够在一个序列中进行随机选择。产生的随机数能够是均匀分布。高斯分布,对数正态分布。负指数分布以及alpha。beta分布。可是呢,这些随机数不适合使用在以加密为目的的应用中

你也能够自己派生一个Random类的子类,自己去实现子类中的random(),seed()。getstate(),setstate()函数,一个新的产生器能够提供一个getrandbits()方法。这同意randrange()产生随意范围的随机数

警告:

这个模块中的随机数是伪随机数,不能应用于安全加密,假设你须要一个真正的password安全随机数,你须要使用os.urandom()或者random模块中的SystemRandom类来实现



參考官方文档。random模块的经常使用函数例如以下:

1、random.random()

用于生成一个0到1的随机浮点数:0<= n < 1.0

2、random.uniform(a,b)

用于生成一个指定范围内的随机浮点数。两个參数当中一个是上限。一个是下限。假设a > b,则生成的随机数n: a <= n <= b。假设 a <b,则 b <= n <= a。

3、random.randint(a,b)

用于生成一个指定范围内的整数。当中參数a是下限,參数b是上限,生成的随机整数数n:a <= n <= b

4、random.choice(seq)

从序列中获取一个随机元素。參数seqe表示一个有序类型,能够是list,tuple,array。str等

5、random.randrange([start,] stop[, step])

从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10,100, 2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。random.randrange(10,100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。

6、random.shuffle(x[,random])

用于将一个列表中的元素打乱。能够用这个函数写一个洗牌的程序

7、random.sample(seq,k)

从指定序列中随机获取指定长度的片断。sample函数不会改动原有序列,假设k大于seq元素个数的话会报错。

>>> random.random()                      # Random float x, 0.0 <= x < 1.0
0.37444887175646646 >>> random.uniform(1, 10) # Random float x, 1.0 <= x < 10.0
1.1800146073117523 >>> random.randrange(10) # Integer from 0 to 9
7 >>> random.randrange(0, 101, 2) # Even integer from 0 to 100
26 >>> random.choice('abcdefghij') # Single random element
'c' >>> items = [1, 2, 3, 4, 5, 6, 7]
>>> random.shuffle(items)
>>> items
[7, 3, 2, 5, 6, 4, 1] >>> random.sample([1, 2, 3, 4, 5], 3) # Three samples without replacement
[4, 1, 5]

Python Random随机数的更多相关文章

  1. python,random随机数的获取

    随机数生成 首先我们需要在程序中引入random>>>import random as r r.random()用于生成一个随机的浮点数, >>> print(r. ...

  2. Python random模块 例子

    最近用到随机数,就查询资料总结了一下Python random模块(获取随机数)常用方法和使用例子. 1.random.random  random.random()用于生成一个0到1的随机符点数: ...

  3. 【python】【转】Python生成随机数的方法

    如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与random模块中最常用的几个函数的关系,希望你会有所收获,以下就是这篇文 ...

  4. Python生成随机数的方法

    这篇文章主要介绍了Python生成随机数的方法,有需要的朋友可以参考一下 如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与 ...

  5. python random模块 - 小驹的专栏 - 博客频道 - CSDN.NET

    python random模块 - 小驹的专栏 - 博客频道 - CSDN.NET python random模块 分类: python 2011-11-15 15:31 6037人阅读 评论(2) ...

  6. 第四十七节,random 随机数模块

    random 随机数模块格式: import random 引入随机模块文件 random.randrange(65,91) 调用随机函数random.randrange(随机数开始范围,随机数结束范 ...

  7. python random使用方法

    如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与random模块中最常用的几个函数的关系,希望你会有所收获,以下就是这篇文 ...

  8. python生成随机数、随机字符串

    python生成随机数.随机字符串 import randomimport string # 随机整数:print random.randint(1,50) # 随机选取0到100间的偶数:print ...

  9. (转)Python random模块

    原文:https://my.oschina.net/cuffica/blog/33336 https://www.cnblogs.com/renpingsheng/p/7105296.html ran ...

随机推荐

  1. 通过sql查询rman备份信息

    通过sql查询rman备份信息 查看所有备份集 SELECT A.RECID "BACKUP SET", A.SET_STAMP, DECODE (B.INCREMENTAL_LE ...

  2. 【bzoj4066】简单题 KD-tree

    题目描述 你有一个N*N的棋盘,每个格子内有一个整数,初始时的时候全部为0,现在需要维护两种操作: 命令 参数限制 内容 1 x y A 1<=x,y<=N,A是正整数 将格子x,y里的数 ...

  3. Java众神之路(2)-标志符

    标志符 1.1标志符:用来标志类名.变量名.方法名.类型名.文件名的有效字符序列成为标志符. 1.2命名规则: Java语言规定标志符由字母(a-zA-Z).下划线(_).美元符号($)和数字(0-9 ...

  4. g2o安装

    1.安装依赖项 sudo apt-get install libeigen3-dev libsuitesparse-dev libqt4-dev qt4-qmake 2.安装依赖项  libqglvi ...

  5. 物理的alpha blend

    alpha blend主要是可以用来模拟半透明的笔触..然而它是有缺陷的.. 因为一般的alpha blend的(线性混合)模型没有考虑反射光的问题..然而其实反射光是很重要的大家都知道.. 好..如 ...

  6. [暑假集训--数论]hdu2136 Largest prime factor

    Everybody knows any number can be combined by the prime number. Now, your task is telling me what po ...

  7. 【Reship】use of tangible T4 template engine

    1.first of all 之前在 “使用T4模板生成代码 – 初探” 文章简单的使用了T4模板的生成功能,但对于一个模板生成多个实例文件,如何实现这个方式呢?无意发现一个解决方案 “Multipl ...

  8. MySQL冗余数据的三种方案

    一,为什么要冗余数据 互联网数据量很大的业务场景,往往数据库需要进行水平切分来降低单库数据量. 水平切分会有一个patition key,通过patition key的查询能够直接定位到库,但是非pa ...

  9. hdu 4991(树状数组+DP)

    Ordered Subsequence Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  10. springBoot yml 和 properties

    加载顺序不一致,application.yml 在前,application.properties 在后. yml 文件内容 server: port: 8081 spring: redis: dat ...