#写一个自动生成密码文件的程序 # 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(‘条数必须是整数!‘)
原文地址:https://www.cnblogs.com/nuobao/p/9075625.html
时间: 2024-08-02 04:14:19