题解 | 密码强度等级

def length1(x):
    if len(x) <= 4:
        y = 5
    elif len(x) <= 7 and len(x) >= 5:
        y = 10
    else:
        y = 25
    return y


def alpha(x):
    low = 0
    upper = 0

    for i in x:
        if i.isalpha():
            if i.isupper():
                low = 10
            else:
                upper = 10
    c = low + upper
    if c > 20:
        c = 20
    return c


def zifu(x):
    zifucuan = '!#$%&"()*+,-./:;<=>?@ [\]^_`{|}~ ' + "'"
    c = 0
    for m in x:

        for i in zifucuan:
            if m == i:
                c = c + 1
    if c == 0:
        y = 0
    elif c == 1:
        y = 10
    else:
        y = 25
    return y


def digit(x):
    shuzi = "1234567890"
    c = 0
    for m in x:
        for i in shuzi:
            if m == i:
                c = c + 1
    if c == 0:
        y = 0
    elif c == 1:
        y = 10
    else:
        y = 20
    return y


shuru = input()
if digit(shuru) > 0 and alpha(shuru) > 0 and zifu(shuru) == 0:
    fenshu = 2
elif digit(shuru) > 0 and zifu(shuru) > 0 and alpha(shuru) == 10:
    fenshu = 3
elif digit(shuru) > 0 and zifu(shuru) > 0 and alpha(shuru) == 20:
    fenshu = 5
else:
    fenshu = 0
zhongfen = length1(shuru) + alpha(shuru) + zifu(shuru) + digit(shuru) + fenshu

if zhongfen >= 90:
    print("VERY_SECURE")
elif zhongfen >= 80 and zhongfen <= 90:
    print("SECURE")
elif zhongfen >= 70 and zhongfen <= 80:
    print("VERY_STRONG")
elif zhongfen >= 60 and zhongfen <= 70:
    print("STRONG")
elif zhongfen >= 50 and zhongfen <= 60:
    print("AVERAGE")
elif zhongfen >= 25 and zhongfen <= 50:
    print("WEAK")
else:
    print("VERY_WEAK")
	不容易啊

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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