zoukankan      html  css  js  c++  java
  • Python Random模块生成伪随机数字

    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) : 根据等式+中的浮点舍入,端点值b (ba) random()

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

    练习:生成随机验证码

    import random
    
    def v_code():
    
        code = ''
        for i in range(5):
    
            num=random.randint(0,9)
            alf=chr(random.randint(65,90))
            add=random.choice([num,alf])
            code="".join([code,str(add)])
    
        return code
    
    print(v_code())
  • 相关阅读:
    EntityFramework优缺点
    领导者与管理者的区别
    七个对我最好的职业建议(精简版)
    The best career advice I’ve received
    Difference between Stored Procedure and Function in SQL Server
    2015年上半年一次通过 信息系统项目管理师
    Difference between WCF and Web API and WCF REST and Web Service
    What’s the difference between data mining and data warehousing?
    What is the difference between a Clustered and Non Clustered Index?
    用new创建函数的过程发生了什么
  • 原文地址:https://www.cnblogs.com/weihengblog/p/8505958.html
Copyright © 2011-2022 走看看