题解 | #密码验证合格程序#
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
import sys
import re
# 考查正则表达式,但是使用一条正则写太复杂,可以采用逻辑关系进行简化
def validate(value):
if len(value)<=8:
return False
reg_1 = r'[a-z]+'
reg_2 = r'[A-Z]+'
reg_3 = r'[0-9]+'
reg_4 = r'[^a-zA-z0-9 \n]+'
reg_5 = r'[ \n]+'
num = 0
if re.search(reg_5, value):
return False
if re.search(reg_1, value):
num +=1
if re.search(reg_2, value):
num +=1
if re.search(reg_3, value):
num +=1
if re.search(reg_4, value):
num +=1
if num<3:
return False
for index in range(len(value)-3):
if len(value.split(value[index:index+3])) >= 3:
return False
return True
for item in sys.stdin:
if validate(item.strip()):
print('OK')
else:
print('NG')
#密码验证合格程序#