题解 | #密码强度等级#

密码强度等级

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

###就当是锻炼耐心了,稍微注意的点就是判断各种类型字符同时存在时逻辑不能乱
def long(x:str):
    if len(x) <= 4:
        return 5
    elif 5 <= len(x) <= 7:
        return 10
    elif len(x) >= 8:
        return 25

def alpha(x:str):
    a,b=0,0
    for i in x:
        if i.islower():
            a = 1
        elif i.isupper():
            b = 1
    if a+b == 2:
        return 20
    elif a+b == 1:
        return 10
    elif a+b == 0:
        return 0

def num(x:str):
    a = 0
    for i in x:
        if i.isnumeric():
            a+=1
    if a == 0:
        return 0
    elif a == 1:
        return 10
    elif a > 1:
        return 20

def fuhao(x:str):
    import string
    teshu = string.punctuation
    a = 0
    for i in x:
        if i in teshu:
            a+=1
    if a == 0:
        return 0
    elif a == 1:
        return 10
    elif a > 1:
        return 25

def jiangli(x:str):
    import string
    teshu = string.punctuation
    a,b,c,d=0,0,0,0
    for i in x:
        if i.isnumeric():
            a=1
        elif i in teshu:
            b=1
        elif i.isupper():
            c=1
        elif i.islower():
            d=1
    if a+b+c+d ==4:
        return 5
    elif (a+b+c)==3 or (a+b+d)==3:
        return 3
    elif (a+c) ==2 or (a+d) ==2:
        return 2
    else:
        return 0

while True:
    try:
        s = str(input())
        if  1 <= len(s) <= 300:
            score=long(s)+alpha(s)+num(s)+fuhao(s)+jiangli(s)
            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')
        else:
            print('密码越界,请重新输入')
    except:
        break

全部评论

相关推荐

02-08 20:56
已编辑
南京工业大学 Java
在等offer的比尔很洒脱:我也是在实习,项目先不说,感觉有点点小熟悉,但是我有点疑问,这第一个实习,公司真的让实习生去部署搭建和引入mq之类的吗,是不是有点过于信任了,我实习过的两个公司都是人家正式早搭好了,根本摸不到部署搭建的
点赞 评论 收藏
分享
2024-12-29 11:08
湖南工业大学 Java
程序员牛肉:简历没什么大问题了。 而且不要再换项目了。三月份就开暑期实习了,现在都一月份了。实在来不及重新开一下项目了。把一个项目写完或许很快,但是把一个项目搞懂吃透并不简单。所以不要换项目了,把你简历上面的两个项目好好挖一挖吧。 具体 体现在:你能不能流利的说出你的项目的每一个功能点代码实现?你能不能说出在这块除了A技术之外,还有其他技术能够实现嘛?如果有其他技术能够实现,那你这块为什么选择了你当前用的这个技术?
投递牛客等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 听劝,这个简历怎么改 #
14086次浏览 182人参与
# 面试被问“你的缺点是什么?”怎么答 #
6359次浏览 98人参与
# 水滴春招 #
16374次浏览 346人参与
# 入职第四天,心情怎么样 #
11310次浏览 63人参与
# 租房找室友 #
8021次浏览 53人参与
# 读研or工作,哪个性价比更高? #
26152次浏览 356人参与
# 职场新人生存指南 #
199211次浏览 5509人参与
# 参加完秋招的机械人,还参加春招吗? #
26977次浏览 276人参与
# 文科生还参加今年的春招吗 #
4108次浏览 31人参与
# 简历无回复,你会继续海投还是优化再投? #
48624次浏览 561人参与
# 你见过最离谱的招聘要求是什么? #
144719次浏览 829人参与
# 如果重来一次你还会读研吗 #
155716次浏览 1706人参与
# 机械人选offer,最看重什么? #
69077次浏览 449人参与
# 选择和努力,哪个更重要? #
44292次浏览 493人参与
# 如果再来一次,你还会学硬件吗 #
103645次浏览 1245人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
20520次浏览 413人参与
# 招聘要求与实际实习内容不符怎么办 #
46727次浏览 494人参与
# 22届毕业,是读研还是拿外包offer先苟着 #
4652次浏览 27人参与
# 你们的毕业论文什么进度了 #
901248次浏览 8961人参与
# 软开人,你觉得应届生多少薪资才算合理? #
81375次浏览 496人参与
# 国企还是互联网,你怎么选? #
109191次浏览 853人参与
牛客网
牛客企业服务