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

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

"""
思路:排除所有不合法的情况
"""
def check(s):
    """
    定义判断函数(只要有不合法的情况出现马上返回结果0)
    """
    # 1.排除长度不超过8的情况
    if len(s) <= 8:
        return 0
    # 2.排除字符种类少于3种的情况
    c = [0, 0, 0, 0]  # 分别判断大、小写字母、数字、其它字符是否出现
    for i in range(len(s)):
        if s[i].isupper():
            c[0] = 1
        elif s[i].islower():
            c[1] = 1
        elif s[i].isdigit():
            c[2] = 1
        else:
            c[3] = 1
    if sum(c) < 3:  # 字符种类少于3时排除
        return 0
    # 3.排除出现3个字母重复出现的情况(4个及以上字母重复出现,必然有3个字母重复出现)
    for i in range(len(s) - 3):
        if s.count(s[i:i + 3]) > 1: # 统计字符串中出现3个重复字母个数并排除
            return 0
        
        
while True:
    try:
        s = input()
        if check(s) == 0:
            print("NG")
        else:
            print("OK")
    except:
        break

全部评论

相关推荐

08-15 01:16
Python
Java小萌新新萌小...:照片不用整这么大的 而且你的照片截歪了 你想找专业对口的 那普通话证写在这里其实没有什么必要 就是看着内容多点 而且里面字体大小也不一样 修改一下排版 有很多空间可以再利用一下 字大一点 不然现在这样观感不太好 再就是项目好好优化一下 加油
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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