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

密码验证合格程序

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

import sys, string

strw = string.punctuation
src_digits = string.digits              
src_uppercase = string.ascii_uppercase  
src_lowercase = string.ascii_lowercase

def func(w):    
    x = []
    for i in w:
        if i in src_digits and 1 not in x:
            x.append(1)
        elif i in src_lowercase and 2 not in x:
            x.append(2)
        elif i in src_uppercase and 3 not in x:
            x.append(3)
        elif i in strw and 4 not in x:
            x.append(4)
        elif len(x) > 2:
            return True
    if len(x) < 3:
        return False

def func1(w:str)->int:
    n = len(w)
    q = []
    for i in range(n):
        z = w[i:]
        for j in range(3,len(z)//2+1):
            if z[:j] in z[j:]:
                q.append(1)
    if len(q) != 0:
        return False
    else:
        return True
            
            
    
    
for i in sys.stdin.readlines():
    if len(i) <= 8:
        print('NG')
        continue
    elif not func(i):
        print('NG')
        continue
    elif not func1(i):
        print('NG')
        continue
    print('OK')
    

全部评论

相关推荐

时雨h:人生就像站在岔路口,两个方向都可以先了解了解,就像罗伯特·弗罗斯特诗里说的,“黄色的树林里分出两条路,可惜我不能同时去涉足” ,这两个方向就如同那两条路,每条都有独特的风景与未知。 除了自行探索,也可以看看自己学校往年同专业学长学姐的去向,每一届大致都差不多,这能帮你找到自己的定位。多跟他们交流交流,听听他们在不同选择中的收获与遗憾,那些过来人的经验会成为你前行路上的微光。 做出选择后,固然要坚定自己的选择,勇往直前地走下去,但也别忘了,那条未选择的路也始终在那里,它或许代表着另一种可能,另一种人生轨迹。偶尔回望,它能让你更加明白自己当下选择的价值,也能让你在前行的路上,多一份思考与从容。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务