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

密码验证合格程序

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

while True:
    try:
        s = input()
        ng = 0
        ok = 0
        # 密码要求
        if len(s) < 8:
            ng += 1
        # 至少三种
        a, b, c, d = 0, 0, 0, 0
        for i in s:
            if i.isupper():
                a = 1
            if i.islower():
                b = 1
            if i.isdigit():
                c = 1
            if i.isascii():
                d = 1
        else:
            if a + b + c + d < 3:
                ng += 1
        # 不能由长度大于2的字串重复
        for i in range(len(s)-2):
            j = s[i:i + 3]
            m = s.count(j)
            if m > 1:
                ng += 1
        if ng > 0:
            print("NG")
        else:
            print("OK")
    except:
        break

考察点:
如果满足要求,则输出 ok,不满足要求,则输出ng。
问题点:
第二个for循环的时候,因为是遍历三个内容,我没有调试,导致判断有问题,debug后解决


#数据仓库与数据分析实习#
OD专栏练习梳理 文章被收录于专栏

OD专栏练习梳理

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务