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模块的正则表达式,会有更简单的做法,但是以上代码有一个漏洞,对于有些密码是测不出来的,你能找出来嘛,可以留言给我嘿嘿!!!
在这里插入图片描述

发布了23 篇原创文章 · 获赞 5 · 访问量 368

猜你喜欢

转载自blog.csdn.net/weixin_43287121/article/details/105170938