题解 | #密码强度等级#

密码强度等级

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

'''
耗了我一天多才通过🤨,必须贴出来记录一下!
'''
a = input()
jc = 0   
dx,xx = 0,0
sz = 0
fhj = "!\"#$%&'()*+,-./:;<=>?@ [\]^_`{|}~"
fh =0

for i in a:
    if i.isalpha():
        if i.isupper():
            dx +=1
        else:
            xx +=1
    elif i.isdigit():
        sz +=1
    elif i in fhj:
        fh +=1
        
if len(a)<= 4: # 长度判断
    jc +=5
elif 5 <=len(a) <=7:
    jc += 10
elif len(a)>7:
    jc += 25
    
while 1: # 大小写个数判断
    zm = dx + xx
    if (dx >0) and (xx >0) and (zm >1):
        jc +=20
        break
    elif (zm == dx) or (xx == dx+xx):
        jc +=10
        break
    elif (dx == 0) or (xx == 0):
        break
while 1: # 数字个数判断
    if sz ==0:
        break
    elif sz ==1:
        jc +=10
        break
    elif sz >1:
        jc +=20
        break
while 1: # 符号个数判断
    if fh ==0:
        break
    elif fh ==1:
        jc +=10
        break
    elif fh >1:
        jc +=25
        break
zf =0
while 1: # 奖励判断
    if (dx >0) and (xx >0) and (sz >0) and (fh >0):
        zf = jc +5
        break
    elif (dx+xx >0) and (sz >0)  and (fh >0):
        zf = jc +3
        break
    elif (dx+xx >0) and (sz >0) and (fh ==0):
        zf = jc +2
        break
    else:
        zf = jc
        break
        
if zf >=90:
    print("VERY_SECURE")
elif 80<=zf<=89:
    print("SECURE") 
elif 70<=zf<=79:
    print("VERY_STRONG")
elif 60<=zf<=69:
    print("STRONG")
elif 50<=zf<=59:
    print("AVERAGE")
elif 25<=zf<=49:
    print("WEAK")
elif 0<=zf<=24:
    print("VERY_WEAK")
#Python#
全部评论

相关推荐

10-25 23:12
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务