zoukankan      html  css  js  c++  java
  • Python标准库Random

    基本方法

    获取一个[0,1)的随机浮点数:

    import random
    print(random.random())
    #输出
    0.6701488343121276
    

      

    获取指定区间的随机浮点数:

    import random
    print(random.uniform(1,3))
    #输出
    1.2275756189688645
    

      

    随机生成一个指定范围的整数,相当于[1,10]

    import random
    print(random.randint(1,10))
    #输出
    8
    

      

    随机生成一个指定范围的整数,相当于[0,10)

    import random
    print(random.randrange(0,10))
    #输出
    3

      

    从序列中获取一个随机值:

    import random
    print(random.choice([1,4,2,5,8]))
    #输出
    8
    

      

    从字符串中随机获取特定数量的字符:

    import random
    print(random.sample("password",3))
    #输出
    ['s', 'a', 'o']

      

    为有序的序列洗牌:

    import random
    l = [1,2,3,4,5]
    random.shuffle(l)
    print(l)
    #输出
    [3, 4, 2, 5, 1]
    

      

    应用

    Random模块实现验证码功能

    纯4位数字验证码

    错误的验证码,每次的验证码都是一样的。

    checkCode = ""
    
    for i in range(4):
    	checkCode += str(i)
    
    print(checkCode)
    #输出
    0123

      

    正确的代码实现,每次验证码都是随机的。

    import random
    checkCode = ""
    
    for i in range(4):
    	s = random.randint(0,9)
    	checkCode += str(s)
    
    print(checkCode)
    

      

    字母和数字的验证码

    import random
    checkCode = ""
    s = "qwertyuiopasdfghjklzxcvbnm0123456789"
    
    z = random.sample(s,4)
    for i in z:
    	checkCode += str(i)
    
    print(checkCode)
    

      

  • 相关阅读:
    [bzoj 2460]线性基+贪心+证明过程
    [Wc2011] Xor
    [BZOJ2844]线性基+xor本质不同第K大
    洛谷3857 [TJOI2008]彩灯
    HDU3949 异或线性基
    hdu3062 party --2-sat
    KM算法详解+模板
    Hopcroft-Karp算法
    bzoj 1135: [POI2009]Lyz
    hall定理的证明
  • 原文地址:https://www.cnblogs.com/endust/p/12308451.html
Copyright © 2011-2022 走看看