题解 | #密码强度等级#

密码强度等级

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

def count_char(x):
    count = 0
    for i in range(len(x)):
        if x[i].isalpha():
            count += 1
    return count

def count_digits(x):
    count = 0
    for i in range(len(x)):
        if x[i].isdigit():
            count += 1
    return count

def count_fuhao(x):
    fsm = "!\"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~"
    count = 0
    for i in range(len(x)):
        if x[i] in fsm:
            count += 1
    return count

def func(x):
    score = 0
    score += 5 if len(x) <= 4 else 10 if 5 <= len(x) <= 7 else 25
    score += 0 if count_char(x) <= 0 else 10 if (x.islower() or x.isupper()) else 20
    score += 0 if count_digits(x) <= 0 else 10 if count_digits(x) == 1 else 20
    score += 0 if count_fuhao(x) <= 0 else 10 if count_fuhao(x) == 1 else 25
    if count_char(x) > 0 and not x.islower() and count_digits(x) > 0 and count_fuhao(x) > 0:
        score += 5
    elif count_char(x) > 0 and count_digits(x) > 0 and count_fuhao(x) > 0:
        score += 3
    elif count_char(x) > 0 and count_digits(x) > 0:
        score += 2
    else:
        score += 0
    if score >= 90:
        print('VERY_SECURE')
    elif score >= 80:
        print('SECURE')
    elif score >= 70:
        print('VERY_STRONG')
    elif score >= 60:
        print('STRONG')
    elif score >= 50:
        print('AVERAGE')
    elif score >= 25:
        print('WEAK')
    else:
        print('VERY_WEAK')

while True:
    try:
        a = input()
        func(a)
    except:
        break

全部评论

相关推荐

07-15 18:09
门头沟学院 Java
点赞 评论 收藏
分享
Hakasee:我的简历和你的基本一样,上周去了上海,boss投了三百家, 三家线下面试 第一家没有做题,全是八股和项目,因为第一次面试不怎么熟练,挂了 第二家,给你几个题目(①css垂直居中文字,字体每两秒闪烁一下以及点击弹窗,②给你一个链接,实现可视化地图,③然后是八股,图片性能优化,以及对图片app有什么想法),45分钟内做完,然后老板面试) 第三家特别偏僻,有点阴森,到了之后让了一个工位给我,有四个题目,①格式化时间 年月日当前时间星期几② 正则表达式提取新闻文字,③在文本域输入文字生成选择题以及选项④生成商品排版还是什么来着 三家都是不超过50人的小公司 两家线上牛客笔试(卡伦特,七牛云,但是笔试不仅要考前端,还要考后端,算法,甚至数学题 我的建议是如果只做了这两个vue项目且不怎么熟练的情况下,先沉淀沉淀,把react学了,上海好的公司基本都是react查看图片
点赞 评论 收藏
分享
07-15 12:15
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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