题解 | #密码验证合格程序#
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
def checkPasswd(password):
# 密码长度要求
if len(password)<=8:
return "NG"
# 至少包含三种
a,b,c,d=0,0,0,0 # 是否存在
for char in password:
if ord("a")<=ord(char)<=ord("z"):
a=1
elif ord("A")<=ord(char)<=ord("Z"):
b=1
elif ord("0")<=ord(char)<=ord("9"):
c=1
else:
d=1
if a+b+c+d<3:
return "NG"
# 重复的长度大于2的子串
for i in range(len(password)-3):
slice_=password.split(password[i:i+3])
if len(slice_)>=3:
return "NG"
return "OK"
import sys
if __name__=="__main__":
for password in sys.stdin:
print(checkPasswd(password.strip()))
查看16道真题和解析