题解 | #密码验证合格程序#
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
import sys
import re
while True:
try:
st = input()
pat3 = [] ##构建列表,用于存3位字符的匹配格式
con1 = len(st) > 8 #条件1:字符串长度大于8
con2a = re.search('[a-z]+',st) != None #条件2a:包含小写字母
con2A = re.search('[A-Z]+',st) != None #条件2A:包含大写字母
con2 = re.search('[0-9]+',st) != None #条件2:包含字母
con2o = len(re.sub('\w','',st)) > 0 #条件2o:把字母和数字去掉后,还有其他字符
for i in range(len(st)-2): #逐3位摘出字符串模式列表
pat3.append(st[i:(i+3)])
con3 = (len(pat3) == len(set(pat3))) #条件3:字符串字符列表查重
if all([con1,con2a+con2A+con2+con2o>=3,con3]) == True: #条件1,3必须满足,条件2满足3个及以上
res = 'OK'
else:
res = 'NG'
print(res)
except:
break

