Python随机密码生成器实战
求赞 求关注当然写的不怎么好因为我才刚初一更新速度也慢。如果想下载这里有链接 https://download.csdn.net/download/mc54321/91240180正文开始在编写这个程序我们需要导入random模块。import randomrandom模块是 Python 标准库中的一个模块用于生成伪随机数。在许多场景下都非常有用比如生成随机密码、随机抽样、模拟随机事件等。然后我们可以生成一个列表当然如果您想让密码更安全可以生成如下的一个列表。mmk [1,2,3,4,5,6,7,8,9, A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z, !,,#,$,%,^,,*,,]接下来我们将要用random模块来生成随机的密码mm random.choices(mmk, k10)代码详细解释random.choices()这是random模块里的一个函数作用是从给定的序列里随机选取元素而且选取的元素可以重复。mmk作为random.choices()函数的第一个参数代表用来选取元素的序列。在这段代码里mmk是一个包含数字、大写字母、小写字母和特殊符号的列表它是密码字符的候选集合。k10这是random.choices()函数的关键字参数用来指定要选取的元素数量。这里设定为 10意味着会从mmk列表里随机选取 10 个元素。mm用于存储random.choices()函数返回的列表该列表包含了随机选取的 10 个元素。这段代码可有可无但它可以测试程序是否真可以生成一段密码。print(ksrmm)接下来的这行代码是用户输入部分最重要的一部分ksrmm .join(mm)代码组成分析join()方法这是 Python 字符串对象的一个内置方法用于将可迭代对象如列表、元组等中的元素以指定的字符串作为分隔符连接起来。其语法为separator.join(iterable)其中separator是分隔符字符串iterable是包含多个元素的可迭代对象。这是join()方法的调用者代表一个空字符串。意味着在拼接列表mm中的元素时元素之间不会插入任何额外的字符。mm这是join()方法的参数是一个列表。在你的代码里mm是通过random.choices(mmk, k10)生成的包含 10 个随机选取的字符。代码执行过程Python 解释器会调用空字符串的join()方法。join()方法会遍历列表mm中的每个元素。按照顺序将列表mm中的元素依次拼接起来元素之间不添加任何分隔符。最终将拼接好的字符串赋值给变量ksrmm。接下来就是让用户输入密码并检查密码是否正确。# 等待用户输入并存储到变量中 user_input input() # 进入外层循环持续获取用户输入并与随机生成的字符串 ksrmm 进行比较 while True: if user_input ksrmm: # 如果用户输入的内容与随机生成的字符串 ksrmm 完全相同则打印 密码正确 并退出循环 print(密码正确) break else: # 如果用户输入的内容与随机生成的字符串 ksrmm 不同则打印 密码错误请重新输入 并继续等待用户输入 user_input input(密码错误请重新输入)代码组成分析user_input input()这行代码调用input()函数获取用户输入并将输入的内容以字符串形式存储到变量user_input里方便后续与随机生成的密码进行比较。while True:这行代码创建了一个无限循环True是布尔常量意味着循环条件永远为真循环体会一直执行直到遇到break语句才会跳出循环。if user_input ksrmm这是一个条件判断语句将用户输入的user_input和之前随机生成的密码ksrmm进行比较。若两者相等说明用户输入的密码正确执行if代码块里的内容。print(密码正确)当if条件判断为True时执行这行代码在控制台输出密码正确。breakbreak是 Python 关键字用于跳出当前所在的循环。在这里当用户输入的密码正确时执行break语句结束while无限循环。else:当if条件判断为False时说明用户输入的密码错误执行else代码块里的内容。user_input input(密码错误请重新输入)在else代码块中调用input()函数提示用户重新输入密码并将新的输入内容存储到user_input变量里接着进入下一次循环继续比较。完整代码 求赞 求关注 print(这是一个密码生成器。) import random #导入random模块 # 定义一个包含数字 1 - 9 和大写字母 A - Z 的列表 mmk [1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z, !,,#,$,%,^,,*,,] # 从 mmk 列表中随机选取 10 个可重复的元素结果存储在 mm 变量中 mm random.choices(mmk, k10) #打印提示信息 print(我们先要进行一个密码验证) # 将列表转换为字符串 ksrmm .join(mm) #打印ksrmm的值 print(ksrmm) # 等待用户输入并存储到变量中 user_input input() # 进入外层循环持续获取用户输入并与随机生成的字符串 ksrmm 进行比较 while True: if user_input ksrmm: # 如果用户输入的内容与随机生成的字符串 ksrmm 完全相同则打印 密码正确 并退出循环 print(密码正确) break else: # 如果用户输入的内容与随机生成的字符串 ksrmm 不同则打印 密码错误请重新输入 并继续等待用户输入 user_input input(密码错误请重新输入)