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. c# 多线程传递参数以及任务

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. JQuery上传插件Uploadify详解及其中文按钮解决方案 .

    Uploadify有一个参数是 buttonText 这个无论你怎么改都不支持中文,因为插件在js里用了一个转码方法把这个参数的值转过码了,解码的地方在那个swf文件里,看不到代码,所以这条路不行. ...

  3. ICommand.CanExecuteChanged事件订阅对象的变化

    public class DelegateCommand : ICommand { Func<object, bool> canExecute; Action<object> ...

  4. 从实践的角度理解cookie的几个属性

    cookie的处理流程大致分为以下几步: 1.浏览器初次请求服务器. 2.服务器认为有必要设置cookie,通过响应报文首部:Set-Cookie告知浏览器,cookie的内容. 3.浏览器本地保存( ...

  5. CSS之 float 属性

    特性: float的设计初衷仅仅是文字环绕效果  浮动具有破坏性,会使父容器高度塌陷  清除浮动方法: 1.脚底插入cleart:both 2.父元素BFC(IE8+)/haslayout(IE6/7 ...

  6. Emgu.CV(二)

    小实例 class Program { static void Main(string[] args) { #region Emgu.Cv string imgPath = @"D:\tim ...

  7. Xamarin.Forms 开发IOS、Android、UWP应用

    C#语言特点,简单.快速.高效.本次我们通过C#以及Xaml来做移动开发. 1.开发工具visual studio 2015或visual studio 2017.当然visual studio 20 ...

  8. JavaScript责任链模式

    介绍 责任链模式(Chain of responsibility)是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系.将对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理 ...

  9. HashMap工作原理 和 HashTable

    原文链接: Javarevisited 翻译: ImportNew.com - 唐小娟 译文链接: http://www.importnew.com/7099.html 你用过HashMap吗 譬如H ...

  10. Java基础总结--多线程总结2

    ----多线程通信-----1.概述:多个线程处理同一个资源,但是各自的任务不相同eg:线程1负责存储数据,线程2负责处理该数据.数据--就是同一个资源怎样用java语言描述上面的例子:* 资源是变化 ...