Python的学习笔记案例6--判断密码强度2.0

本节课主要讲解循环终止和限制密码的验证次数:

1、brack可以使循环终止;

2、使用while循环可以限制验证次数。


"""
    作者:lanxingbudui
    版本:2.0
    日期:2019-07-15
    功能:判断密码强度
    2.0新增功能:限制密码验证次数,循环终止
"""


def check_number_str(password_str):
    """
	判断字符串是否包含数字
    """
    has_number = False
    for c in password_str:
        if c.isnumeric():
            has_number = True
            break
    return has_number


def check_letter_str(password_str):
    """
	判断字符串是否包含字母
    """
    has_letter = False
    for c in password_str:
        if c.isalpha():
            has_letter = True
            break
    return has_letter


def main():
    """
    主函数
    """
    try_times = 5

    while try_times >= 0:

        password = input('请输入密码:')

        # 密码强度
        strength_level = 0

        # 规则1:密码长度大于8位
        if len(password) >= 8:
            strength_level += 1
        else:
            print('密码长度必须大于8位')
        # 规则2:密码包含数字
        if check_number_str(password):
            strength_level += 1
        else:
            print('密码要求包含数字!')
        # 规则3:密码包含字母
        if check_letter_str(password):
            strength_level += 1
        else:
            print('密码要求包含字母!')
        if strength_level == 3:
            print('密码强度合格!')
            break
        else:
            print('密码强度不合格!')
            try_times -= 1
        print()

    if try_times <= 0:
        print('密码尝试次数过多,请重新设置!')


if __name__ == '__main__':
        main()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值