题解 | 密码验证合格程序

密码验证合格程序

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

import sys

for line in sys.stdin:
    a = line.split()
    # print(a)
    secrt = a[0]
    if len(secrt) < 8:
        print("NG")
        continue
    c_class = set()
    sameindex_list = []
    samechar_list = []

    for i,s in enumerate(secrt): # isupper, islower, isdigit 是方法(methods)而不是属性(properties),所以需要加上括号 () 来调用它们
        if s.isupper():
            c_class.add("upper")
        elif s.islower():
            c_class.add("lower")
        elif s.isdigit():
            c_class.add("digit")
        else:
            c_class.add("teshu")
        for j in range(i+1,len(secrt)):
            if secrt[j] == s and j-i > 2:
                sameindex_list.append((i,j))
                break
    # print(sameindex_list)
    # print(c_class)
    if len(c_class) < 3:
        print("NG")
        continue
    for i,j in sameindex_list:
        if j+2 < len(secrt) and secrt[i+1] == secrt[j+1] and secrt[i+2] == secrt[j+2]:
            samechar_list.append(secrt[i])
            samechar_list.append(secrt[i+1])
            samechar_list.append(secrt[i+2])
    # print(samechar_list)
        

    if len(samechar_list) >2:
        print("NG")
        continue
    else:
        print("OK")
    
    


全部评论

相关推荐

点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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