这篇文章主要讲解了“怎么用Python检验用户输入密码的复杂度”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python检验用户输入密码的复杂度”吧!
密码强度检测规则:
至少包含一个数字
至少包含一个大写字母
长度至少 8 位
主要知识点
while 循环
推导式
列表 any 函数
命令行 input
代码部分
密码强度检测
首先创建一个 python 文件
导入系统包
import platform
密码强度检测规则
至少包含一个数字至少包含一个大写字母长度至少 8 位
每天打印一词,激励一下自己。
print("人生苦短,我用Python")
输入密码
while True: password = input("请输入待检测密码: ")
列表推导式使用
print("数字检测: ", [i.isdigit() for i in password])print("大写字母检测: ", [i.isupper() for i in password])print("密码长度: ", len(password))
是否有数字, 推导式检测。
hasNumber = any([i.isdigit() for i in password])
是否有大写字母, 推导式检测。
hasUpper = any([i.isupper() for i in password])
密码检测
if hasNumber and hasUpper and len(password) >= 8: print("密码符合规则, 检查通过") breakelse: print("密码校验未通过, 请重新输入")
2、运行结果
请输入待检测密码: 123213数字检测: [True, True, True, True, True, True]大写字母检测: [False, False, False, False, False, False]密码长度: 6密码校验未通过, 请重新输入请输入待检测密码: abc1234数字检测: [False, False, False, True, True, True, True]大写字母检测: [False, False, False, False, False, False, False]密码长度: 7密码校验未通过, 请重新输入请输入待检测密码: Abc34567数字检测: [False, False, False, True, True, True, True, True]大写字母检测: [True, False, False, False, False, False, False, False]密码长度: 8密码符合规则, 检查通过
全部代码
import platform print("人生苦短,我用Python") while True: password = input("请输入待检测密码: ") print("数字检测: ", [i.isdigit() for i in password]) print("大写字母检测: ", [i.isupper() for i in password]) print("密码长度: ", len(password)) hasNumber = any([i.isdigit() for i in password]) hasUpper = any([i.isupper() for i in password]) if hasNumber and hasUpper and len(password) >= 8: print("密码符合规则, 检查通过") break else: print("密码校验未通过, 请重新输入")
感谢各位的阅读,以上就是“怎么用Python检验用户输入密码的复杂度”的内容了,经过本文的学习后,相信大家对怎么用Python检验用户输入密码的复杂度这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!