题解 | #密码强度等级#很笨的方法

密码强度等级

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

def changdu(n):
    lenscroll = 0
    if len(n) <= 4:
        lenscroll = 5
    elif 5 <= len(n) <= 7:
        lenscroll = 10
    else:
        lenscroll = 25
    return lenscroll

def zimu(n):
    phascroll = 0
    list1 = [i for i in n if i.isalpha()]
    if len(list1) == 0:
        phascroll = 0
    list2 = []#大写
    list3 = []#小写
    for k in list1:
        if 'A' <= k <= 'Z':
            list2.append(k)
        elif 'a' <= k <= 'z':
            list3.append(k)
    if len(list2) == 0 or len(list3) == 0:
        phascroll = 10
    else :
        phascroll = 20
    return phascroll

def shuzi(n):
    digscroll = 0
    list4 = [i for i in n if i.isdigit()]
    if len(list4) == 0:
        digscroll = 0
    elif len(list4) == 1:
        digscroll = 10
    else:
        digscroll = 20
    return digscroll

def fuhao(n):
    fuscrool = 0
    list5 = [i for i in n if ((32<= ord(i) <= 47) or (0x3A <= ord(i) <= 0x40) or (58 <= ord(i) <= 64) or (91 <= ord(i) <= 96))]
    if len(list5) == 0:
        fuscrool = 0
    elif len(list5) == 1:
        fuscrool = 10
    else:
        fuscrool = 25
    return fuscrool

def jiangli(n):
    jiangscroll = []
    if zimu(n) != 0 and shuzi(n) != 0:
        jiangscroll.append(2)
        if fuhao(n) != 0:
            jiangscroll.append(3)
            if zimu(n) == 20 :
                jiangscroll.append(5)
    if len(jiangscroll) != 0:
        return max(jiangscroll)
    else:
        return 0

def zongfen(n):
    return changdu(n)+zimu(n)+shuzi(n)+fuhao(n)+jiangli(n)

s = input()
x = zongfen(s)
if zongfen(s) >= 90:
    print('VERY_SECURE')
elif zongfen(s) >= 80:
    print('SECURE')
elif zongfen(s) >= 70:
    print('VERY_STRONG')
elif zongfen(s) >= 60:
    print('STRONG')
elif zongfen(s) >= 50:
    print('AVERAGE')
elif zongfen(s) >= 25:
    print('WEAK')
else:
    print('VERY_WEAK')

全部评论

相关推荐

野猪不是猪🐗:把你的学校加黑,加粗,斜体,下划线,描边,内阴影,内发光,投影,外发光,再上渐变色,居中,放大到最大字号,再把简历里其它内容删了,就行了
点赞 评论 收藏
分享
02-12 00:59
已编辑
哈尔滨工业大学 产品经理
华为 软件开发岗 20.6*16薪 本科
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务