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

密码验证合格程序

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

import sys

while 1:
    s = sys.stdin.readline().strip()
    if not s:
        break
    else:
        spaceFlag = False
        lengthFlag = False
        lower = 0
        upper = 0
        digit = 0
        childStrLengthFlag = 0
        readyFlag = False
        if " " not in s:
            spaceFlag = True
        if len(s) > 8:
            lengthFlag = True
        for i in range(len(s)):
            try:
                if s.count(f"{s[i]}{s[i + 1]}{s[i + 2]}") >= 2:
                    childStrLengthFlag += 1
            except:
                pass
            if s[i].islower():
                lower += 1
            elif s[i].isupper():
                upper += 1
            elif s[i].isdigit():
                digit += 1
        # print(f"{lower} {upper} {digit} len:{len(s)}")
        if (lower and upper and digit) or (len(s) > (lower + upper + digit)):
            readyFlag = True
        if spaceFlag and lengthFlag and readyFlag and not childStrLengthFlag:
            print("OK")
        else:
            print("NG")

一遍过,思路清晰一点的判断就不难

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务