题解 | #密码强度等级#

密码强度等级

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

只是各种判断

while True:
    try:
        count_1 = 0
        count_2 = 0
        count_3 = 0
        count_4 = 0
        grade = 0
        a = list(input())
        if(len(a) <= 4):
            grade += 5
        if(len(a) >= 5) & (len(a) <= 7):
            grade += 10
        if(len(a) >= 8):
            grade += 25
        for i in range(len(a)):
            if(a[i].isdigit()):
                count_1 += 1
            if(a[i].islower()):
                count_2 += 1
            if(a[i].isupper()):
                count_3 += 1
            if(ord(a[i]) >= int('0x21',16)) & (ord(a[i]) <= int('0x2F',16)):
                count_4 += 1
            if(ord(a[i]) >= int('0x3A',16)) & (ord(a[i]) <= int('0x40',16)):
                count_4 += 1
            if(ord(a[i]) >= int('0x5B',16)) & (ord(a[i]) <= int('0x60',16)):
                count_4 += 1
            if(ord(a[i]) >= int('0x7B',16)) & (ord(a[i]) <= int('0x7E',16)):
                count_4 += 1
        if(count_2 == 0) & (count_3 == 0):
            grade += 0
        elif(count_2 == 0) | (count_3 == 0):
            grade += 10
        else:
            grade += 20
        if(count_1 == 0):
            grade += 0
        elif(count_1 == 1):
            grade += 10
        else:
            grade += 20
        if(count_4 == 0):
            grade += 0
        elif(count_4 == 1):
            grade += 10
        else:
            grade += 25
        if(count_1 > 0) & (count_2 > 0) & (count_3 > 0) & (count_4 > 0):
            grade += 5
        elif(count_1 > 0) & (count_2 + count_3 > 0) & (count_4 > 0):
            grade += 3
        elif(count_1 > 0) & (count_2 + count_3 > 0):
            grade += 2
        else:
            grade += 0
        if(grade >= 90):
            print('VERY_SECURE')
        elif(grade >= 80):
            print('SECURE')
        elif(grade >= 70):
            print('VERY_STRONG')
        elif(grade >= 60):
            print('STRONG')
        elif(grade >= 50):
            print('AVERAGE')
        elif(grade >= 25):
            print('WEAK')
        else:
            print('VERY_WEAK')
    except:
        break
华为机试题解(prod.by kedao) 文章被收录于专栏

华为实习机试题解

全部评论

相关推荐

码砖:求职岗位要突出,一眼就能看到,教育背景放到最后,学校经历没那么重要,项目要重点突出
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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