python实现密码验证合格程序的思路详解
题目描述
输入一行或多行字符串密码,验证每行密码是否符合规范,符合提示“OK”,否则“NG”。密码规范为:
1.长度超过8位
2.包括大小写字母.数字.其它符号,以上四种至少三种
3.不能有相同长度超2的子串重复
解题思路
1.获取输入的多行字符串
2.对每行字符串进行密码验证:
1)如果密码长度小于等于8或者是密码中有长度超过2的重复子串,则密码NG
2)在1)不满足的情况下再看有没有至少包含大写字母、小写字母、数字、其他符号
python代码实现
import sys
import re
def has_Dup(str):
for i in range(len(str)-3):
for j in range(i+1, len(str)-3):
if str[i:i+3] == str[j:j+3]:
return True
def check_pwd(pwd):
if len(pwd) <= 8 or has_Dup(pwd):
return False
count = 0
if re.search('[0-9]', pwd):
count += 1
if re.search('[a-z]', pwd):
count += 1
if re.search('[A-Z]', pwd):
count += 1
if re.search('\W', pwd):
count += 1
if count >= 3:
return True
pwdList = sys.stdin.readlines()
for x in pwdList:
x = x.strip()
if check_pwd(x):
print('OK')
else:
print('NG')
总结
到此这篇关于python实现密码验证合格程序的思路详解的文章就介绍到这了,更多相关python密码验证合格程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Windows系统下实现pycharm运行.sh文件(本地运行和打开服务器终端)
PyCharm是Python开发的高效率IDE,但是很多时候需要同时开发Bash(shell)脚本,下面这篇文章主要给大家介绍了关于Windows系统下实现pycharm运行.sh文件(本地运行和打开服务器终端)的相关资料,需要的朋友可以参考下2022-09-09
一篇文章搞懂Python Unittest测试方法的执行顺序
unittest是Python标准库自带的单元测试框架,是Python版本的JUnit,下面这篇文章主要给大家介绍了如何通过一篇文章搞懂Python Unittest测试方法的执行顺序,需要的朋友可以参考下2021-09-09
解决python3 HTMLTestRunner测试报告中文乱码的问题
今天小编就为大家分享一篇解决python3 HTMLTestRunner测试报告中文乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-12-12
python2.7+selenium2实现淘宝滑块自动认证功能
这篇文章主要为大家详细介绍了python2.7+selenium2实现淘宝滑块自动认证功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-02-02


最新评论