题解 | #密码强度等级#
密码强度等级
https://www.nowcoder.com/practice/52d382c2a7164767bca2064c1c9d5361
while True: try: keyword = input() #判断密码长度 count = 0 if len(keyword) <= 4: count += 5 elif 5 <= len(keyword) <= 7: count += 10 else: count += 25 #判断密码包含字母数量 a,b,c = 0,0,0 for i in keyword: if ord('a') <= ord(i) <= ord('z'): b += 1 a += 1 elif ord('A') <= ord(i) <= ord('Z'): c += 1 a += 1 if a == 0: count += 0 elif b == 0 and c != 0 or b != 0 and c == 0: count += 10 elif b != 0 and c != 0: count += 20 #判断密码包含数字数量 d = 0 for i in keyword: if i.isdigit(): d += 1 if d == 0: count += 0 elif d == 1: count += 10 else: count += 20 #判断密码包含符号数量 e,f,g = 0,0,0 for i in keyword: if i.isalpha(): e += 1 elif i.isdigit(): f += 1 g = e+f if g == len(keyword): count += 0 elif len(keyword)-g == 1: count += 10 else: count += 25 #奖励 if (b != 0 and c != 0) and d != 0 and g != 0: count += 5 elif (b == 0 and c != 0 or b != 0 and c == 0) and d != 0 and g != 0: count += 3 elif a != 0 and d != 0: count += 2 #输出内容,也可以简化一下 if count >= 90: print("VERY_SECURE") elif count >= 80: print('SECURE') elif count >= 70: print('VERY_STRONG') elif count >= 60: print('STRONG') elif count >= 50: print('AVERAGE') elif count >= 25: print('WEAK') else: print('VERY_WEAK') except: break