题解 | #密码强度等级#


"""
思路:将五个得分版块成绩汇总即可
"""
s = input()
res = 0
# 1.长度
if len(s) >= 8:
    res += 25
elif len(s) >= 5:
    res += 10
else:
    res += 5
# 2.字母
la = []
lu = []
ll = []
ln = []
for i in s:
    if i.isalpha():
        la.append(1)
    if i.isupper():
        lu.append(1)
    elif i.islower():
        ll.append(1)
    else:
        ln.append(1)
if sum(ln) == len(s):
    res += 0
elif sum(lu) == sum(la) or sum(ll) == sum(la):
    res += 10
else:
    res += 20
# 3.数字
ld = []
for i in s:
    if i.isdigit():
        ld.append(int(i))
if sum(ld) == 1:
    res += 10
elif sum(ld) > 1:
    res += 20
else:
    res += 0
# 4.符号
if len(ln) - len(ld) == 1:
    res += 10
elif len(ln) - len(ld) > 1:
    res += 25
else:
    res += 0
# 5.奖励
if (len(lu) > 0) and (len(ll) > 0) and (len(ld) > 0) and (len(ln) - len(ld) > 0):
    res += 5
elif (len(lu) + len(ll) > 0) and (len(ld) > 0) and (len(ln) - len(ld) > 0):
    res += 3
elif (len(lu) + len(ll) > 0) and (len(ld) > 0):
    res += 2
else:
    res += 0
# 输出结果
if res >= 90:
    print("VERY_SECURE")
elif res >= 80:
    print("SECURE")
elif res >= 70:
    print("VERY_STRONG")
elif res >= 60:
    print("STRONG")
elif res >= 50:
    print("AVERAGE")
elif res >= 25:
    print("WEAK")
else:
    print("VERY_WEAK")


全部评论

相关推荐

HNU_fsq:建议直接出国,这简历太6了。自愧不如
点赞 评论 收藏
分享
头像
11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务