• Python之random


    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
    '0123456789'
    >>> 
    >>> choice(string.digits)
    '3'
    >>> choice(string.digits)
    '5'

    打乱序列,随机洗牌:

    >>> 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

  • 相关阅读:
    使用C#创建SQL Server的存储过程
    .Net环境下基于Ajax的MVC方案
    关于ASP.NET页面打印技术的总结
    将现有企业级模板项目从 Visual Studio .NET 2003 迁移到 Visual Studio 2005
    SQL Server执行SQL语句时内存占用特点
    SQL Server与Oracle、DB2三种数据库比较
    用AJAX编写用户注册时的应用实例
    VS2005(c#)项目调试问题解决方案集锦
    基于微软ASP.NET AJAX框架开发幻灯片播放网页
    ArrayList用法
  • 原文地址:https://www.cnblogs.com/gsblog/p/3370978.html
Copyright © 2020-2023  润新知