四时宝库

程序员的知识宝库

调用python的库,随机生成密码(数字、字母、特殊符号字符串)

要求

1、密码长度 >6

2、必须包括 字母数字 特殊符号(至少一个大写字母,和一个特殊符号)

编写思路

a、随机生成大写字母

b、随机生成特殊符号

c、随机生成小写字母和数字

d、主函数 实现对上诉函数功能的调用

代码解读

random.randint(x,y) :随机返回x到y之间的一个值

random.choices(a,k=b):从非空序列中随机选取b个数据并返回

代码编写:

#随机生成若干大写字母

def get_upper():

count = random.randint(1,3)

return random.choices('ABCDEFGHIJKLMNQPGRSTUVWXYZ',k=count)

#随机生成若干特殊符号

def get_special_char():

count =random.ranfint(1,3)

return random.choices('!@#$%^&*()_+~',k=count)

#生成小写字母和数字

def get_lower(count):

string ='abcdefghijklmnopqrstvuwxyz123456789'

return random.choices(string,k=count)

#主函数 generate_password 调用前面已经实现的函数功能

import random

def generate_password(length):

if length < 6:

length =6

lst =[ ]

upper_lst =get_upper() # 大写

special_char =get_special_char() # 特殊字符

lst.extend(upper_lst)

lst.extend(special_char)

surplus_count =length -len(lst)

lower_lst =get_lower(surplus_count)

lst.extend(lowwer_lst)

#顺序打乱

random.shuffle(lst)

return ''.join(lst)

if __name__ =='__mian__':

print(generate_passwored(8))

print(generate_passwored(5))

print(generate_passwored(12))

运行结果如下:



关注我,让我们一起进步

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接