失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python在26个字母大小写和9个数字组成的列表中随机生成8位密码。

Python在26个字母大小写和9个数字组成的列表中随机生成8位密码。

时间:2022-04-26 13:35:34

相关推荐

Python在26个字母大小写和9个数字组成的列表中随机生成8位密码。

from random import *def makepasswd(a,b): #定义一个生成密码的函数,可先先看main()函数frequency = 0 #用于计算生成密码的个数Allpasswd = [] #用于存放生成的密码while frequency < b: #用一个while循环控制生成的密码个数,b是参数,由用户输入passwd = [] #创建一个空的列表,每次循环时清空for i in range(a):num = randint(1,9) #随机生成1-9之间的数字if num <= 3:#这一整个if语句主要是保证生成三种字符:数字、大写字母、小写字母的位置是随机的。小于三的时候下个位置生成数字passwd.append(chr(randint(48,57))) '''#随机生成48 - 57之间的数字1-9的ASCII码是48-57chr(48)的意思是利用ASCII码生成Ascii码对应的数字并且把这个数添加到passwd这个列表中'''elif num <= 6:#当随机生成数字大于三小于等于六的时候下个位置生成小写字母passwd.append(chr(randint(97,122)))'''a-z的ASCII码是97-122并且把这个小写字母添加到passwd这个列表中下同'''elif num <= 9:#当随机数大于六小于等于九的时候下个位置生成大写字母passwd.append(chr(randint(65,90)))'''A-Z之间的ASCII码是65-90'''passwd = ''.join(passwd)'''上面把每个生成的数字和字母依次添加到passwd这个列表中,他们之间是用都好隔开的:[1,w,R,5]。类似这样这句话的意思是将逗号分隔符删掉,改用两个单引号之间的符号作为分隔符。两个单引号之间没有任何符号,也没有空格这样就达到了去逗号的效果:[1wR5]'''if passwd not in Allpasswd:Allpasswd.append(passwd)'''如果以上步骤完成后生成的这个密码不在Allpasswd这个列表中那么就添加进去,下面frequency+=1就是密码数量加一如果生成的密码在Allpasswd这个列表中,也就是说生成了同样的密码,那么这次生成的密码作废,frequency-1,再次循环一次'''else:frequency -= 1frequency += 1for i in Allpasswd:print(i)#打印所有生成的密码def main():a = eval(input("请输入要生成几位密码:"))b = eval(input("请输入生成几个密码:"))makepasswd(a,b)#调用上面的函数main() #调用main()函数

如果觉得《Python在26个字母大小写和9个数字组成的列表中随机生成8位密码。》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。