day4 自动生成密码文件 & 注册

#写一个自动生成密码文件的程序
# 1 输入几,文件里面就产生多少条密码  input
#2  密码必须包含  大写字母  小写字母   数字  特殊字符
#3  密码不能重复
#4  密码都是随机产生的
#5  密码长度6-11位

import string,random
pwd_len = input('请输入你要产生多少条密码:').strip()
pwds = set() #存放所有的密码
if pwd_len.isdigit():
    pwd_len = int(pwd_len)
    while len(pwds)!=pwd_len:
        num=random.choice(string.digits)    #随机取一个元素  数字   choice
        letter = random.choice(string.ascii_lowercase)    #随机取一个元素  小写   choice
        upper = random.choice(string.ascii_uppercase)#随机取一个元素  大写   choice
        pun = random.choice(string.punctuation) #随机取一个元素  特殊字符   choice
        pasd_len = random.randint(6,11) #代表生成密码的长度
        other_len = pasd_len - 4 #剩余的长度
        all_strs = string.digits+string.ascii_letters+string.punctuation
                #     数字          大小写                特殊字符
        other_passwd = random.sample(all_strs,other_len)#随机取到剩下的密码
        pwd_list = [num,letter,upper,pun]+other_passwd  #产生密码之后的list
        random.shuffle(pwd_list)#顺序打乱
        pwd_str = ''.join(pwd_list) #最终的密码
        pwds.add(pwd_str+'\n')
    else:
        open('passwds.txt','w').writelines(pwds)

else:
    print('条数必须是整数!')

猜你喜欢

转载自www.cnblogs.com/nuobao/p/9075625.html