题解 | #密码强度等级#

密码强度等级

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

pwk=input()
addnum=0
if len(pwk)<=4:addnum+=5
elif len(pwk)<=7 and len(pwk)>=5:addnum+=10
elif len(pwk)>=8:addnum+=25

intnum,spnum,bgnum,lmnum=[],[],[],[]
for i in pwk:
    if ord(i)>=48 and ord(i)<=57:intnum.append(i)
    elif ord(i)>=97 and ord(i)<=122:lmnum.append(i)
    elif ord(i)>=65 and ord(i)<=90:bgnum.append(i)
    elif ord(i)>=33 and ord(i)<=47:spnum.append(i)
    elif ord(i)>=58 and ord(i)<=64:spnum.append(i)
    elif ord(i)>=91 and ord(i)<=96:spnum.append(i)
    elif ord(i)>=123 and ord(i)<=126:spnum.append(i)
        
if len(bgnum)>0 and len(lmnum)>0:addnum+=20
elif len(bgnum)>0 and len(lmnum)==0:addnum+=10
elif len(bgnum)==0 and len(lmnum)>0:addnum+=10
    
if len(intnum)==1:addnum+=10
elif len(intnum)>1:addnum+=20

if len(spnum)==1:addnum+=10
elif len(spnum)>1:addnum+=25
add=0
if len(intnum)>0 and (len(bgnum)>0 or len(lmnum))>0:add=2
if len(intnum)>0 and (len(bgnum)>0 or len(lmnum)>0) and len(spnum)>0:add=3
if len(intnum)>0 and len(bgnum)>0 and len(lmnum)>0 and len(spnum)>0:add=5
addnum+=add
if addnum>=90:print('VERY_SECURE')
elif addnum>=80:print('SECURE')
elif addnum>=70:print('VERY_STRONG')
elif addnum>=60:print('STRONG')
elif addnum>=50:print('AVERAGE')
elif addnum>=25:print('WEAK')
elif addnum>=0:print('VERY_WEAK')
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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