5、实验题目:生成验证码

验证码一般是包括一些随机产生的数字或符号,请实现随机生成一组6位验证码的功能。
每个字符可以是大写字母、小写字母或数字,有且只能是这三种类型中的一种。

1.使用range()

实现思想:
1.需要引入random库
2.将生成验证码功能写成函数,可以生成任意位数的验证码
3.通过ASCLL的值转换为大小写字母
4.随机抽取

import random
# 用range()
def code(len):
    code_list = []
    for i in range(10):
        code_list.append(str(i))  #生成数字
    for i in range(65, 91):
        code_list.append(chr(i))   #生成大写字母
    for i in range(97, 123):
        code_list.append(chr(i))   #生成小写字母
    r = random.sample(code_list, len)   
    m = ''.join(r)
    return m


if __name__ == '__main__':
    n = code(6)
    print(n)

2.使用randint()

1.需要引入random库
2.random.randint()随机抽取
3.chr()通过ASCLL值转换为字符

import random
# 用randint()
code = ''
for i in range(6):
    n = random.randint(0, 9)
    b = chr(random.randint(65, 90))
    s = chr(random.randint(97, 122))
    code += str(random.choice([n, b, s]))
print(code)

第二种更快,更简单!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐