题解 | #密码强度等级#

密码强度等级

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

# !/usr/bin/env python3
# -*- coding: utf-8 -*-
__author__ = 'tianyi'
__date__ = '2024/3/23 21:52 '
__file__ = 'HW_HJ87.py'

import sys
# 1. 读取输入
String = input().rstrip()
String_len = len(String)
String_alpha = 0
String_alpha_lower = 0
String_alpha_upper = 0
String_symbol = 0
String_lucky = 0
String_num = 0

for i in String:
    if i.isalpha():
        if i.islower():
            String_alpha_lower += 1
        else:
            String_alpha_upper +=1
    elif i in "!@#$%^&*()_+{}|:<>?~`":
        String_symbol += 1
    elif i.isdigit():
        String_num += 1

String_alpha_score = 0
String_len_score = 0
String_symbol_score = 0
String_lucky_score = 0
String_num_score = 0

if String_len <=4:
    String_len_score = 5
elif String_len <=7:
    String_len_score = 10
else:
    String_len_score = 25

String_alpha = String_alpha_lower + String_alpha_upper
if String_alpha != 0:
    if String_alpha_lower >=1 and String_alpha_upper >= 1:
        String_alpha_score = 20
    elif String_alpha_lower > 0 or String_alpha_upper > 0:
        String_alpha_score = 10

if String_num == 1:
    String_num_score = 10
elif String_num > 1:
    String_num_score = 20

if String_symbol != 0:
    if String_symbol == 1:
        String_symbol_score = 10
    else:
        String_symbol_score = 25

if String_alpha_upper> 0 and String_alpha_lower > 0 and String_symbol > 0 and String_num > 0:
    String_lucky_score = 5
elif String_alpha > 0 and String_symbol > 0 and String_num > 0:
    String_lucky_score = 3
elif String_alpha > 0 and String_num > 0:
    String_lucky_score = 2

String_score = String_alpha_score + String_len_score + String_symbol_score + String_lucky_score + String_num_score
if String_score >= 90:
    print("VERY_SECURE")
elif String_score >= 80:
    print("SECURE")
elif String_score >= 70:
    print("VERY_STRONG")
elif String_score >= 60:
    print("STRONG")
elif String_score >= 50:
    print("AVERAGE")
elif String_score >= 25:
    print("WEAK")
else:
    print("VERY_WEAK")

这道题github上应该有,直接tab补全出来了

全部评论

相关推荐

06-22 10:41
赣东学院 Java
程序员小白条:?周六晚上投,这是什么操作,专门找996起步的吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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