题解 | 密码验证合格程序

密码验证合格程序

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

import sys

def containupper(n):
    for i in n:
        if 65 <= ord(i) <= 90:
            return 1
    return 0

def containlower(n):
    for i in n:
        if 97 <= ord(i) <= 122:
            return 1
    return 0


def containnumber(n):
    for i in n:
        if i.isdigit():
            return 1
    return 0

def containother(n):
    for i in n:
        if (
            33 <= ord(i) <= 47
            or 58 <= ord(i) <= 64
            or 91 <= ord(i) <= 96
            or 123 <= ord(i) <= 126
        ):
            return 1
    return 0


def nosam(n):
    for i in range(len(n) - 3):
        if n[i : i + 3] in n[i + 3 :]:
            return False
    return True

def isok(n):
    if len(n) < 8:
        return "NG"
    x = containupper(n) + containlower(n) + containnumber(n) + containother(n)
    if x < 3:
        return "NG"
    if not nosam(n):
        return "NG"
    return "OK"

while True:
    try:
        n = input()
        print(isok(n))

    except:
        break

全部评论

相关推荐

2025-11-03 13:18
门头沟学院 Java
包行:平时怎么刷算法题的哇,字节的手撕听说都很难
字节跳动工作体验
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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