题解 | 密码强度等级

import re
s = input()
fen = 0

length = len(s)
if length < 5 : fen += 5
elif length < 8 : fen += 10
else: fen += 25

lowers = len(re.findall(r'[a-z]',s))
uppers = len(re.findall(r'[A-Z]',s))
if lowers == 0 and uppers == 0 : pass
elif lowers > 0 and uppers > 0 : fen += 20
else: fen += 10

numn = len(re.findall(r'[0-9]',s))
if numn == 0 : pass
elif numn == 1 : fen += 10
else: fen += 20

sign = len(re.findall(r'[^a-zA-Z0-9]',s))
# print(re.findall(r'[^a-zA-Z0-9]',s))
if sign == 0 : pass
elif sign == 1 : fen += 10
else: fen += 25

if abs(lowers-uppers)==max(lowers,uppers) and numn>0 and sign==0: fen += 2
elif abs(lowers-uppers)==max(lowers,uppers) and numn>0 and sign>0: fen += 3
elif lowers>0 and uppers>0 and numn>0 and sign>0: fen += 5

if fen >= 90 : print('VERY_SECURE')
elif fen >= 80 : print('SECURE')
elif fen >= 70 : print('VERY_STRONG') 
elif fen >= 60 : print('STRONG') 
elif fen >= 50 : print('AVERAGE') 
elif fen >= 25 : print('WEAK') 
elif fen >= 0 : print('VERY_WEAK')
else : pass

# print(fen)

 

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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