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

密码验证合格程序

https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

while True:
    try:
        pas = input()
        if len(pas) < 8:
            print("NG")
            break
        else:
            tmp = [0, 0, 0, 0]
            for i in pas:
                if  "a" <= i <= "z":
                    tmp[0] = 1
                elif "A" <= i <= "Z":
                    tmp[1] = 1
                elif "0" <= i <= "9":
                    tmp[2] = 1
                else:
                    tmp[3] = 1
            n = 0
            for j in tmp:
                n += j
            if n < 3:
                print("NG")
                break
            else:
                result = 0
                for j in range(1, len(pas)):
                    sub = pas[j-2] + pas[j-1] + pas[j]  # 注意找长度大于2公共元素的子串,因此只要有长度大于等于3的就判定无效密码
                    if (sub in pas[0:j-2]) or (sub in pas[j+1:len(pas)]):
                        result += 1
                if result == 0:
                    print("OK")
                    break
                else:
                    print("NG")
                    break         
    except: break

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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