题解 | #密码强度等级#

密码强度等级

https://www.nowcoder.com/practice/52d382c2a7164767bca2064c1c9d5361

###就当是锻炼耐心了,稍微注意的点就是判断各种类型字符同时存在时逻辑不能乱
def long(x:str):
    if len(x) <= 4:
        return 5
    elif 5 <= len(x) <= 7:
        return 10
    elif len(x) >= 8:
        return 25

def alpha(x:str):
    a,b=0,0
    for i in x:
        if i.islower():
            a = 1
        elif i.isupper():
            b = 1
    if a+b == 2:
        return 20
    elif a+b == 1:
        return 10
    elif a+b == 0:
        return 0

def num(x:str):
    a = 0
    for i in x:
        if i.isnumeric():
            a+=1
    if a == 0:
        return 0
    elif a == 1:
        return 10
    elif a > 1:
        return 20

def fuhao(x:str):
    import string
    teshu = string.punctuation
    a = 0
    for i in x:
        if i in teshu:
            a+=1
    if a == 0:
        return 0
    elif a == 1:
        return 10
    elif a > 1:
        return 25

def jiangli(x:str):
    import string
    teshu = string.punctuation
    a,b,c,d=0,0,0,0
    for i in x:
        if i.isnumeric():
            a=1
        elif i in teshu:
            b=1
        elif i.isupper():
            c=1
        elif i.islower():
            d=1
    if a+b+c+d ==4:
        return 5
    elif (a+b+c)==3 or (a+b+d)==3:
        return 3
    elif (a+c) ==2 or (a+d) ==2:
        return 2
    else:
        return 0

while True:
    try:
        s = str(input())
        if  1 <= len(s) <= 300:
            score=long(s)+alpha(s)+num(s)+fuhao(s)+jiangli(s)
            if score >= 90:
                print('VERY_SECURE')
            elif score >= 80:
                print('SECURE')
            elif score >= 70:
                print('VERY_STRONG')
            elif score >= 60:
                print('STRONG')
            elif score >= 50:
                print('AVERAGE')
            elif score >= 25:
                print('WEAK')
            else:
                print('VERY_WEAK')
        else:
            print('密码越界,请重新输入')
    except:
        break

全部评论

相关推荐

鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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