python字符串方法练习之密码检查器

在这里插入图片描述

我们需要这样一组密码,必须含有数字,大小写字母,并且长度不小于8位。如何用我们现有的字符串方法,做出这道题呢?

while True:
    num=input('请输入密码:')
    if len(num)>=10 and num.isidentifier() and ('_' not in num):
#isidentifier是检查字符串是不是合法的变量名,python的变量名是大小写字母加_都可以,所以最后要排除下划线。
        if num.isdigit():#如果字符串里都是数字
            print('缺少字母')
        else:#字符串有两种情况都是字母或者字母和数字混合
            if num.isalpha():#如果字符串里都是字母
                print('密码缺少数字')
            else:#这里只有一种情况就是字符串是字母和数字混合
                #现在只需要证明字符串里字母有大小写就可以了
                if num.islower():#如果字符串里都是小写字母
                    print('密码缺少大写字母')
                else:#密码里是不是都是大写字母
                    if num.isupper():
                        print('缺少小写字母')
                    else:
                        print('密码验证成功')
                        break
    else:
        print('密码小于10位')

真是用了好多的逻辑判断,在以后的学习比如re模块的正则表达式,会有更简单的做法,但是以上代码有一个漏洞,对于有些密码是测不出来的,你能找出来嘛,可以留言给我嘿嘿!!!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

~白+黑

真乃人中龙凤,必成大器,

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

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

打赏作者

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

抵扣说明:

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

余额充值