Python的听课笔记案例6--判断密码数据2.0

原创
小哥 3年前 (2022-11-02) 阅读数 8 #大杂烩

本课重点介绍周期终止和限制密码身份验证的次数:

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()
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除