random

伪随机数生成模块。如果不提供seed,默认使用系统时间。

使用相同seed,可获得相同的随机数序列,常用于测试。

>>> from random import *
>>>
>>> a = Random();a.seed(1)
>>>
>>> a
<random.Random object at 0x6beb50>
>>> [a.randint(1,100) for i in range(20)] #生成20个[1,100]以内的随机数
[14, 85, 77, 26, 50, 45, 66, 79, 10, 3, 84, 44, 77, 1, 45, 73, 23, 95, 91, 4]
>>>
>>> b = Random();b.seed(1)
>>>
>>> [b.randint(1,100) for i in range(20)]
[14, 85, 77, 26, 50, 45, 66, 79, 10, 3, 84, 44, 77, 1, 45, 73, 23, 95, 91, 4]
#使用相同的seed,可获得相同的随机数序列,常用于测试

使用示例:

生成start<=N<stop范围内的随机整数

>>> randrange(1,10)
1
>>>
>>> randrange(1,10,3)#支持步进
7
>>> randrange(1,10)
3
>>> randrange(1,10)
1
>>> randrange(1,10)
8
>>> randrange(1,10)
3

生成a<=N<=b范围内的整数

>>> randint(1,10)
9

从序列中随机返回元素

>>> import string
>>>
>>> string.digits
''
>>>
>>> choice(string.digits)
''
>>> choice(string.digits)
''

打乱序列,随机洗牌:

>>> a = range(10)
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> shuffle(a)
>>> a
[5, 0, 4, 2, 7, 9, 6, 3, 8, 1]

从序列中随机挑选n个不同元素的组合成列表:

>>> string.letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>>
>>> sample(string.letters,10)
['f', 'w', 'Y', 'k', 'j', 'U', 'x', 'g', 'W', 'z']
>>> "".join(sample(string.letters,10)) #生成指定长度的随机字符 串
'rcYvVBFiuX'
>>>
>>> "".join(sample(string.letters,10)) #生成指定长度的随机字符 串
'VMTaDEwOBg'

生成0.0<=N<1的随机浮点数:

>>> from random import *
>>> random() #生成0.0<=N<1的随机浮点数
0.64468721840449683
>>> random()
0.64314720491508159
>>>
>>>
>>> uniform(1,10)
2.0345270899004566
>>> uniform(1,10) #生成min<=N<=max范围内的随机浮点数
7.4607728774267086
>>>
>>> uniform(10,1) #生成min<=N<=max范围内的随机浮点数
8.5975353880482359

该模块还支持三角、指数分布、高斯分布等随机算法。

http://docs.python.org/2.7/library/random.html#module-random

Python之random的更多相关文章

  1. python使用random函数生成随机数

    python使用random函数来生成随机数,常用的方法有: import random #生成0-1之间的数(不包括0和1) random.random() #生成1-5之间的随机整数(包括1和5) ...

  2. 【转载】python 模块 - random生成随机数模块

    随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成的随机数字是完全相同的: random.seed(1) 这样random.randint(0,6, (4,5)) ...

  3. 【转】python之random模块分析(一)

    [转]python之random模块分析(一) random是python产生伪随机数的模块,随机种子默认为系统时钟.下面分析模块中的方法: 1.random.randint(start,stop): ...

  4. python的random()函数

    python 的random函数需要调用 #!/usr/bin/python # -*- coding: UTF-8 -*- import random print( random.randint(1 ...

  5. python的random模块(生成验证码)

    python的random模块(生成验证码) random模块常用方法 random.random() #生成0到1之间的随机数,没有参数,float类型 random.randint(1, 3) # ...

  6. python随机数random

    1.random.random()方法用于生成一个0到1的随机浮点数:0<=n<1.0 2.random.uniform(a,b):用于生成一个指定范围内的随机浮点数,两格参数中,其中一个 ...

  7. ZH奶酪:【Python】random模块

    Python中的random模块用于随机数生成,对几个random模块中的函数进行简单介绍.如下:random.random() 用于生成一个0到1的随机浮点数.如: import random ra ...

  8. python基础--random模块

    python使用random生成随机数 下面是主要函数random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0random.randint(a, b)生成的 ...

  9. python中random的基本用法

    那么怎么使 a 随机生成一个数值呢,来研究一下random的部分程序:python中random模块的几个函数可以随机生成数值,下面咱们看一下random的几个函数的使用方法. random()是不能 ...

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

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

随机推荐

  1. HDU1197 Specialized Four-Digit Numbers

    进制转化 hdu1197 #include<cstdio> #include<cstdlib> #include<iostream> #include<mem ...

  2. php使用curl下载指定大小的文件

    php中使用基于libcurl的curl函数,可以对目标url发起http请求并获取返回的响应内容.通常的请求方式类似如下的代码: public function callFunction($url, ...

  3. Struts2 02--通配符

       在以前没有使用Struts时,web与前台的数据交互通过Servlet+jsp页面.一个增删改查往往需要写四个Servlet来处理数据:在使用struts之后,Servlet不再被使用,而是通过 ...

  4. 验证代理IP

    ##author:wuhao#import urllib.requestfrom http import cookiejar import xlrd import threading #有效的代理,可 ...

  5. configparser模块(拷贝)

    该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值). 创建文件 来看一个好多软件的常见文档格式如下: [DEFAULT] ...

  6. css 页面特殊显示效果

    1.移动端最小设置字体为12px,如果想要更小字体效果: -webkit-transform:scale(0.9); 2.文字超过两行时,末尾显示点点的效果: overflow:hidden;text ...

  7. LINUX 笔记-cal 命令

    显示当前月份日历 命令:cal 显示指定月份的日历 命令:cal 9 2012 显示2016年日历 命令:cal 2016

  8. RabbitMQ 笔记-基本概念

    ConnectionFactory.Connection.Channel ConnectionFactory.Connection.Channel,这三个都是RabbitMQ对外提供的API中最基本的 ...

  9. hack查询地址

    悲催的IE! http://browserhacks.com/

  10. MySQL常用存储引擎

    MySQL存储引擎主要有两大类: 1. 事务安全表:InnoDB.BDB. 2. 非事务安全表:MyISAM.MEMORY.MERGE.EXAMPLE.NDB Cluster.ARCHIVE.CSV. ...