题解 | 密码验证合格程序
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
import sys
for pwd in sys.stdin:
pwd = pwd.strip() #清理输入那一行的多于内容
a,b,c,d,w = 0,0,0,0,0
if len(pwd) < 8: #判断密码长度不小于8位
print("NG")
continue
for i in pwd: #判断至少包含大小写字母,数字,特俗字符中的三种
if 'a' <= i <= 'z':
a = 1
elif 'A' <= i <= 'Z':
b = 1
elif '0' <= i <= '9':
c = 1
else:
d = 1
if a+b+c+d < 3: #判断至少包含大小写字母,数字,特俗字符中的三种
print("NG")
continue
for p in range(len(pwd)-2): #判断密码中有无重复三个以上的字符
x = pwd[p:p+3]
if x in pwd[p+1:]:
w = 1
break
if w==1:
print("NG")
else:
print("OK")
思路见解析!
注意:
1.break是终止循环,相当于不执行循环的后续内容了,continue是跳过本次循环,是进入下一个的循环;
2.第26行到34行实现判断密码中有无重复三个以上的字符的功能部分,原来是这样写的!