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

密码验证合格程序

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

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

相关推荐

头像
04-17 09:29
已编辑
湖南农业大学 后端
睡姿决定发型丫:本硕末9也是0offer,简历挂了挺多,只有淘天 美团 中兴给了面试机会,淘天二面挂,美团一面kpi面,中兴一面感觉也大概率kpi(虽然国企,但一面0技术纯聊天有点离谱吧)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务