zoukankan      html  css  js  c++  java
  • python random模块

    详情参考:http://egon09.blog.51cto.com/9161406/1840425

    import random
    
    random.random()  #括号里不能添加任何东西
    
    >>>返回0~1的一个随机数
    

      

    random.randint(a,b)  #a<=n<=b
    
    >>>返回a~b中的一个随机整数n,包括a和b
    

      

    random.randrange(a,b,步长)  #都要为整数
    
    >>>返回【a,a+步长,......b】序列中的一个随机整数
    

      

    import random
    
    print(random.randrange(0, 101, 2))
    
    返回0~100间的一个随机偶数
    PS:
    range(i, j) produces i, i+1, i+2, ..., j-1
    即:range包括头不包括尾(简称:包头不包尾)
    
    
    random.choice()  #可以填入列表,字符串,元组等(有系列数据的)
    
    >>>返回序列中的一个随机元素
    
    
    
    random.sample(序列,长度)
    
    >>>从指定序列中随机获取指定长度的片断
      
    

      


    实例:生成四位随机验证码(字符型)

    首先,生成四位都是数字的验证码是很简单的,randint(1000,9999)即可,但是考虑到非数字的情况,该怎么办呢?

    先把每一个字符单独分离开,每一个字符随机为字母或数字,最后合在一起。

    如何实现每一个字符随机为字母或数字呢?

    用chr(65-90)变int为字母(ASCII码)实现随机字母

    给出最终代码

    import random
    
    # print(random.randint(1000,9999))
    
    Y_code = ''
    for i in range(4):#最外层的for循环仅仅为了实现验证码的个数(0,1,2,3一共四次)
        j = random.randint(0, 1)#根据j是否为0来判断是否是字母还是数字
        if j == 0:
            current = str(random.randint(0, 9))#把数字str化才能合并
        else:
            current = chr(random.randint(65, 90))
        Y_code = Y_code + current
    
    print(Y_code)
  • 相关阅读:
    C++类中的函数重载
    C++中的友元
    bzoj 2820
    莫比乌斯函数
    bzoj 2440: [中山市选2011]完全平方数
    莫比乌斯反演1
    [转]C++ 指针和引用
    P2756 飞行员配对方案问题
    P2055 [ZJOI2009]假期的宿舍
    P2654 原核生物培养
  • 原文地址:https://www.cnblogs.com/gilgamesh-hjb/p/7283173.html
Copyright © 2011-2022 走看看