题解 | #密码验证合格程序#

密码验证合格程序

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')

#密码验证合格程序#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务