题解 | #密码强度等级#

密码强度等级

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#
全部评论

相关推荐

AFBUFYGRFHJLP:直接去美帝试试看全奖phd吧
点赞 评论 收藏
分享
沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务