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

密码验证合格程序

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

import sys

def check(s):
    if len(s) < 8:
        return 0
    a,b,c,d = 0,0,0,0
    for i in s:
        if ord('a') <= ord(i) <= ord('z'):
            a = 1
        elif ord('A') <= ord(i) <= ord('Z'):
            b = 1
        elif ord('0') <= ord(i) <= ord('9'):
            c = 1
        else:
            d = 1
    if a + b + c + d < 3:
        return 0
    for i in range(len(s)-3):
        if len(s.split(s[i:i+3])) >= 3: #12121ab中,第一个‘121’跟第二个‘121’重复且长度大于2,但是不能含公共元素第2个‘1’,所以是合法的,不含公共元素的意义就是比对重复的时候,别的字符串中一样的那个元素不是自己原本的就算过的元素
            return 0
    return 1

while 1:
    try:
        print('OK' if check(input()) else 'NG')
    except:
        break

全部评论

相关推荐

机械打工仔:有说的你怀疑一下就行了,直接问也太实诚了
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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