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

密码验证合格程序

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

def CheckPasswd(passwd):
    #检查长度
    if len(passwd)<=8:
        return "NG"
    #检查字符类型
    hasNum = 0
    hasLowercase = 0
    hasUppercase = 0
    hasOther = 0
    for i in range(len(passwd)):
        ascaii = ord(passwd[i])
        if ascaii >=ord('0') and ascaii <= ord('9'):
            hasNum = 1            
        elif ascaii >=ord('a') and ascaii <= ord('z'):
            hasLowercase = 1            
        elif ascaii >=ord('A') and ascaii <= ord('Z'):
            hasUppercase = 1
        else:
            hasOther = 1
    types =  hasNum + hasLowercase + hasUppercase + hasOther
    if types <3:
        return "NG"
    
    #检查长度大于2的重复子串
    for i in range(len(passwd)-3): #检查每个长度为3的子串是否重复出现即可
        substr = passwd[i:i+3]
        if len(passwd.split(substr))>2:
            return "NG"
    return "OK" #三项条件都满足
    

while 1:
    try:
        passwd = input().strip()
        print(CheckPasswd(passwd))
    except EOFError:
        break
全部评论

相关推荐

04-30 21:35
已编辑
长安大学 C++
晓沐咕咕咕:评论区没被女朋友好好对待过的计小将可真多。觉得可惜可以理解,毕竟一线大厂sp。但是骂楼主糊涂的大可不必,说什么会被社会毒打更是丢人。女朋友体制内生活有保障,读研女朋友还供着,都准备订婚了人家两情相悦,二线本地以后两口子日子美滋滋,哪轮到你一个一线城市房子都买不起的996清高计小将在这说人家傻😅
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务