题解 | #取近似值#

密码验证合格程序

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

def check(passwd):
    if len(passwd) <= 8:
        return False
    temp = []
    for i in range(0, len(passwd)):  # 字符串中任意三个连续字符进行切片
        temp.append(passwd[i: i + 3])
    for j in temp:
        if len(j) == 3 and passwd.count(j) > 1:
            return False
    character_type = {}  # 逐个字符判断,属于大小写字母、数字、特殊字符任意一种,加入字典
    for k in passwd:
        if k.isupper():
            character_type['upper'] = k
        elif k.islower():
            character_type['lower'] = k
        elif k.isdigit():
            character_type['digit'] = k
        else:
            character_type['other'] = k
    if len(list(character_type.keys())) < 3:  # 判断字典键的个数,小于3个键不符合要求
        return False
    return True


while True:
    try:
        s = input()
        print('OK' if check(s) else 'NG')
    except:
        break
全部评论

相关推荐

06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 18:25
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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