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

密码验证合格程序

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

"""
描述
密码要求:
1.长度超过8位
2.包括大小写字母.数字.其它符号,以上四种至少三种
3.不能有相同长度大于2的子串重复

输入描述:
一组或多组长度超过2的字符串。每组占一行
输出描述:
如果符合要求输出:OK,否则输出NG
"""
import re


def check(sr):
    if len(sr) <= 8:
        return False
    else:
        sub = []
        for i in range(len(sr)-2):
            sub.append(sr[i:i+3])
        if len(set(sub)) < len(sub):
            return False
        ty = 0
        upper = '[A-Z]'
        lower = '[a-z]'
        num = '\\d'
        chars = '[^A-Za-z0-9]'
        lis = [upper, lower, num, chars]
        for vo in lis:
            tru = re.search(vo, sr)
            if tru:
                ty += 1
        return True if ty >= 3 else False


while True:
    try:
        sr1 = input()

        print('OK' if check(sr1) else 'NG')

    except (EOFError, KeyboardInterrupt):
        break



全部评论

相关推荐

菜菜咪:1. 可以使用简历网站的模版,美观度会更好一点 2. 邮箱可以重新申请一个,或者用qq邮箱的别名,部分hr可能会不喜欢数字邮箱 3. 项目经历最好分点描述,类似的项目很多,可以参考一下别人怎么写的 4. 自我评价可加可不加,技术岗更看重技术。最后,加油,优秀士兵
点赞 评论 收藏
分享
评论
2
收藏
分享
牛客网
牛客企业服务