This module implements pseudo-random number generators for various distributions.

对于整数,有一个范围的均匀选择;

对于序列,存在随机元素的均匀选择,产生就地列表的随机置换的函数,以及用于无替换的随机采样的函数

Almost all module functions depend on the basic function random(),其在半开放范围[0.0,1.0)中均匀地生成随机浮点数。

一、整数的函数

random.randrange(stop)

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

random.randrange(start, stop[, step])返回一个从start到stop范围内的随机整数(start,stop,step都是整数,不包含stop)。

random.randint(a, b)

返回一个随机整数n,a <= n <= b

二、序列函数

random.choice(seq):从一个非空序列seq中返回随机一个元素,如果seq为空,则引发IndexError。

random.shuffle(x,[random]):原地搅乱序列x,打乱一个序列。

random.sample(population,k):返回从群体序列或集合中选择的唯一元素的k长度列表。用于随机抽样,无序更换。随机选择多个返回,返回的个数为函数的第二个参数

random.random() :返回[0.0,1.0]中随机浮点数。

random.uniform(a,b) : 根据等式a +中的浮点舍入,端点值b (ba) * random()

  1. >>> import random
  2. #随机小数
  3. >>> random.random() # 大于0且小于1之间的小数
  4. 0.7664338663654585
  5. >>> random.uniform(1,3) #大于1小于3的小数
  6. 1.6270147180533838
  7.  
  8. #随机整数
  9. >>> random.randint(1,5) # 大于等于1且小于等于5之间的整数
  10. >>> random.randrange(1,10,2) # 大于等于1且小于10之间的奇数
  11.  
  12. #随机选择一个返回
  13. >>> random.choice([1,'',[4,5]]) # #1或者23或者[4,5]
  14. #随机选择多个返回,返回的个数为函数的第二个参数
  15. >>> random.sample([1,'',[4,5]],2) # #列表元素任意2个组合
  16. [[4, 5], '']
  17.  
  18. #打乱列表顺序
  19. >>> item=[1,3,5,7,9]
  20. >>> random.shuffle(item) # 打乱次序
  21. >>> item
  22. [5, 1, 3, 7, 9]
  23. >>> random.shuffle(item)
  24. >>> item
  25. [5, 9, 7, 1, 3]

练习:生成随机验证码

  1. import random
  2.  
  3. def v_code():
  4.  
  5. code = ''
  6. for i in range(5):
  7.  
  8. num=random.randint(0,9)
  9. alf=chr(random.randint(65,90))
  10. add=random.choice([num,alf])
  11. code="".join([code,str(add)])
  12.  
  13. return code
  14.  
  15. print(v_code())

Python Random模块生成伪随机数字的更多相关文章

  1. python的random模块及加权随机算法的python实现

    random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串. random.seed(x)改变随机数生成器的种子seed. 一般不必特别去设定seed,Python会自动选择seed. ...

  2. Python中random模块生成随机数详解

    Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...

  3. python random模块(14)

    random 模块包括返回随机数的函数,可以用于模拟或者任何产生随机输出的程序. 一.random模块常用函数介绍 random.random() — 生成一个从0.0(包含)到 1.0(不包含)之间 ...

  4. Python random模块 例子

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

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

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

  6. (转)Python random模块

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

  7. python-利用random模块生成测试数据封装方法总结

    1.前言: 在测试中经常有需要用到参数化,我们可以用random模块,faker模块生成测试数据,也可以用到pymysql,此文主要针对random模块生成任意个数的随机整数,随机字符串,随机手机号, ...

  8. python random从集合中随机选择元素

    1.使用python random模块的choice方法随机选择某个元素 from random import choice foo = ['a', 'b', 'c', 'd', 'e'] print ...

  9. python random模块导入及用法

    random是程序随机数,很多地方用到,验证码,图片上传的图片名称等,下面说说python random模块导入及用法 1,模块导入 import random 2,random用法 random.r ...

随机推荐

  1. C++解析(23):多态与C++对象模型

    0.目录 1.多态 2.C++对象模型 2.1 使用C语言实现封装 3.继承对象模型 4.多态对象模型 4.1 使用C语言实现多态 5.小结 1.多态 面向对象中期望的行为: 根据实际的对象类型判断如 ...

  2. 洛谷 P2530 [SHOI2001]化工厂装箱员 解题报告

    P2530 [SHOI2001]化工厂装箱员 题目描述 118号工厂是世界唯一秘密提炼锎的化工厂,由于提炼锎的难度非常高,技术不是十分完善,所以工厂生产的锎成品可能会有3种不同的纯度,A:100%,B ...

  3. array_diff、array_diff_key、array_diff_ukey、array_diff_assoc、array_diff_uassoc 的用法

    <?php // array_diff* 系列的函数都返回关联数组// array_diff* 系列函数返回数组的差集(返回在第一个参数中, 但不在其他参数中的元素) $array1 = [ ' ...

  4. 介绍 JSON (转)

    本文转自:http://www.json.org/json-zh.html JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于 ...

  5. Jenkins使用教程之管理节点

    通常的情况下在我们的一个项目当中,项目会有多个分支系统,而我们不可能为每个分支系统都配置一个jenkins服务,这样既浪费资源,也增加构建部署的难度,为了解决这个问题jenkins给使用者提供了非常强 ...

  6. Android Studio Gradle's dependency cache may be corrupt Re-download dependencies and sync project (requires network)

    转:Android studio 快速解决Gradle's dependency cache may be corrupt 和 Gradle配置 gradle-3.*-all.zip快速下载 Andr ...

  7. CF757 C hash

    一种数字可以变成另一种数,要求每组中变换前后各种数字数量不变,问方案数 对现有每组中的每个数字构造出现在各个组情况的序列,如2 出现在第一组和第二组各一次那么就要加入组别的标号1,2,出现重复次仍要加 ...

  8. Java--图片浏览器

    功能:启动后选择打开文件,可以打开图片进行浏览. v 1.0 :支持上一张 下一张功能.(欠缺,窗口大小未随着图片大小而改变) import java.awt.BorderLayout; import ...

  9. Counting Pair

    Counting Pair Time Limit: 1000 ms Memory Limit: 65535 kB Solved: 112 Tried: 1209 Submit Status Best ...

  10. PHP扩展--vld查看opcode代码

    vld安装 wget http://pecl.php.net/get/vld-0.13.0.tgz tar zxvf vld-0.13.0.tgz cd vld-0.13.0 /usr/local/p ...