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. poj3083 Children of the Candy Corn BFS&&DFS

    Children of the Candy Corn Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11215   Acce ...

  2. 【bzoj2245】[SDOI2011]工作安排 费用流

    题目描述 你的公司接到了一批订单.订单要求你的公司提供n类产品,产品被编号为1~n,其中第i类产品共需要Ci件.公司共有m名员工,员工被编号为1~m员工能够制造的产品种类有所区别.一件产品必须完整地由 ...

  3. Arcengine 基本操作(待更新)

    /// <summary> /// 删除fieldName属性值为1的弧段 /// </summary> /// <param name="fieldName& ...

  4. JAVA使用JDBC连接MySQL数据库 一

    public class JDBCTest { public static void main(String[] args){ String driver = "com.mysql.jdbc ...

  5. php函数总结

    1. isset($var) 变量存在且不为NULL,则返回TRUE 变量不存在或为NULL,则返回FALSE 2. empty($var) 若变量不存在或变量值为"".0.&qu ...

  6. 0-Broadcast机制原理简要介绍

    Broadcast机制简要介绍 来源: http://blog.csdn.net/luoshengyang/article/details/6730748 导语 广播机制在Android系统中,也不算 ...

  7. 在npm当中发布自己的包的方法

    首先需要一个注册一个npm账号,注意,必须验证邮箱,不然是无法发布包的!下面是当时的报错 接着在你需要发布的包的文件夹下面打开你的cmd或者其他的命令行输入工具  输入  npm init 初始化你的 ...

  8. shell for参数

    关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究1. for((i=1;i<=10;i++));do echo ...

  9. 洛谷P1966 火柴排队[NOIP提高组2013]

    我确信我应该是做过这道题……就当再写一遍好了. 贪心思想,一番证明得出a和b数组中最小对最小,次小对次小……时解最优.那么先处理出a,b之间的对应关系,然后按照该关系求a或者b的逆序对数量就是答案 / ...

  10. Docker(六):容器

    一.启动容器 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另一个是将一个在终止状态的容器重新启动,因为Docker的容器实在是太轻量了,很多用户都可以随时删除和新创建容器. 新建并启动 $s ...