Python密码强弱判断_字符串判断

程序说明:通过获取用户输入,判断密码长度是否大于8,同时判断其中是否包含数字和字母,并返回相关信息。
【相关知识点】
Python字符串:
str.isnumeric() -----检测字符串是否只有数字 返回True or False(注意是只有数字)
str.isalpha() -----检测字符串中是否只有字母 返回True or False
str.islower() -----检测字符串中是否都为小写
str.isupper() ------检测字符串中是否都为大写

 """
    作者: 王啸北
    日期: 2019.05.19
    功能: 判断输入密码的强弱
    版本: v2.0
    增加功能: 循环终止
"""

# 判断输入字符串中是否含有数字
def existNumber(password_str):
    has_number = False
    for c in password_str:
        if c.isnumeric():
            has_number = True
            break
    return has_number
    # 程序中一般不连续用两个return
    #         return True   # return 提前终止循环
    # return False

# 判断输入字符串中是否含有字母
# def existAlpha(password_str):
#     for c in password_str:
#         if c.isalpha():
#             return True
#     return False

# v2.0 判断输入字符串中是否含有字母
def existAlpha(password_str):
    has_Alpha = False
    for c in password_str:
        if c.isalpha():
            has_Alpha = True
            break
    return has_Alpha

def main():
    """
    主函数
    :return:12
    """

    Try_times = 5
    while Try_times > 0:
        password = input('请输入密码:')
        # 密码强度
        strength_level = 0

        # 规则一: 密码长度大于8
        if len(password) >= 8:
            strength_level += 1
        else:
            print('请输入长度大于8的密码...')

        # 规则二: 判断是否有数字
        if existNumber(password):
            strength_level += 1
        else:
            print('密码中需包含数字')

        #规则三: 密码中包含字母
        if existAlpha(password):
            strength_level += 1
        else:
            print('密码中需包含字母')

        if strength_level == 3:
            print('密码输入正确!')
            break
        else:
            Try_times -= 1
            if Try_times == 0:
                print('密码错误次数太多!')
            else:
                print('密码错误!剩余{}次'.format(Try_times))
        print()  #添加空行

if __name__ == '__main__':
    main()
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangxiaobei2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值