华为机试题-密码验证python实现

Posted alwaysblue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为机试题-密码验证python实现相关的知识,希望对你有一定的参考价值。

题目:

密码要求:

 

 

 

1.长度超过8位

 

 

 

2.包括大小写字母.数字.其它符号,以上四种至少三种

 

 

 

3.不能有相同长度超2的子串重复

 

 

 

说明:长度超过2的子串

 

输入描述:

一组或多组长度超过2的子符串。每组占一行

输出描述:

如果符合要求输出:OK,否则输出NG

代码:

import sys
import re
def CheckLen(code):
    if len(code)<8:
        return False
    return True
def CheckCha(code):
    f1=0
    f2=0
    f3=0
    f4=0
    for i in code:
        if i.islower():
            f1=1
        elif i.isupper():
            f2=1
        elif i.isdigit():
            f3=1
        else:
            f4=1
    if (f1+f2+f3+f4)>=3:
        return True
    return False
def CheckDul(code):
    for i in range(len(code)-3):
        if code.count(code[i:i+3])>1:
            return False
    return True
    
while(True):
    code = sys.stdin.readline().strip()
    if code==‘‘:
        break
    if CheckDul(code) and CheckCha(code) and CheckLen(code):
        print("OK")
    else:
        #print(CheckCha(code))
        print("NG")


            
            
        
    
    

以上是关于华为机试题-密码验证python实现的主要内容,如果未能解决你的问题,请参考以下文章

华为机试题 HJ20密码验证合格程序

华为OD机试用Python实现 -广播服务器

华为机试题 HJ21简单密码

华为OD机试用Python实现 -集五福 |老题且简单

华为OD机试用Python实现 -解压缩算法

华为OD机试用Python实现 -解密犯罪时间