python牛客

2021/9/4 11:35:43

本文主要是介绍python牛客,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

@python密码验证合格程序

密码验证合格程序

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

输入描述

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

输出描述

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

示例

输入:
021Abc9000
021Abc9Abc1
021ABC9000
021$bc9000
输出:
OK
NG
NG
OK

代码

# Author :SHJ Wang
# Time  :2021/9/4 11:20
#条件1
def len_OK(item):
    item=str(item)
    if len(item)>8:
        return True
    else:
        return False
#条件2
def type_OK(item):
    item=str(item)
    types={}
    for it in item:
        if it.isdigit():
            types['digit'] = 1
        elif it.islower():
            types['lower'] = 1
        elif it.isupper():
            types['upper'] = 1
        else:
            types['other'] = 1
    if sum(types.values()) >=3:
        return True
    else:
        return False
#条件3
def son_OK(item):
    item=str(item)
    a=0
    for i in range(len(item)):
        for j in range(i+3,len(item)):
            if (item[i:j] in item[0:i]) or (item[i:j] in item[j:]):
                a += 1
            else:
                a=a
    if a > 0:
        return False
    else:
        return True
while True:
    try:
        a=str(input())
        if len_OK(a) and type_OK(a) and son_OK(a):
            print('OK')
        else:
            print('NG')
    except:
        break
        


这篇关于python牛客的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程