zoukankan      html  css  js  c++  java
  • Python随机数random模块学习,并实现生成6位验证码

    一、前言

    学习python随机数random模块的使用 ,并使用模块中的函数,实现6位验证码生成

    二、random模块

    1、random.random()

    返回0-1直接的随机数,类型为float

    >>>print(random.random())
    0.1259184691662908
    
    2、random.randint(1, 8)

    返回1-8直接的随机数,包括8

    >>>print(random.randint(1, 8))
    3
    
    3、random.choice()

    从一个序列中随机取元素

    >>>print(random.choice('hello')) 
    >>>'h'
    >>>print(random.choice([1, 2, 3, 4]))
    >>>2
    >>>print(random.choice((1, 2, 3, 4)))
    >>>3
    
    
    4、random.sample()

    从可迭代对象中随机返回指定个数的元素

    >>>print(random.sample([1, 'allen', [2, 3], (4, 5)], 2))
    >>>['allen', 1]
    

    使用random实现生成6位数的随机数

    随机数要求:使用数字、大小写字母随机生成

    import random
    
    def get_code():
        code = ''
        for i in range(6):
            add = random.choice([random.randrange(10), chr(random.randrange(65, 91)), chr(random.randrange(97, 123))])
            code += str(add)
        print(code)
        return code
        
    get_code()
    
    

    结果:

    8sE9o3 
    ixH0o4 
    337o2W ...
    

    实现思路:
    1、使用random.randrange(10)获取0-9十个数字
    2、小写字母对应ascii码中65-90
    3、大写字母对应ascii码中97-122
    4、通过chr(int)将ascii码转为字母
    5、将步骤数字、大小写字母组成list,通过调用random.choice()随机选择数字、大小写字母
    6、通过 for循环,进行6次选择,使用字符串拼接6次组成6位随机验证码

  • 相关阅读:
    poj 3068 Bridge Across Islands
    XidianOJ 1086 Flappy v8
    XidianOJ 1036 分配宝藏
    XidianOJ 1090 爬树的V8
    XidianOJ 1088 AK后的V8
    XidianOJ 1062 Black King Bar
    XidianOJ 1091 看Dota视频的V8
    XidianOJ 1098 突击数论前的xry111
    XidianOJ 1019 自然数的秘密
    XidianOJ 1109 Too Naive
  • 原文地址:https://www.cnblogs.com/suxianglun/p/9023487.html
Copyright © 2011-2022 走看看