python-密码检查器函数始终返回弱密码

python-密码检查器函数始终返回弱密码,python,python-3.x,module,passwords,boolean,Python,Python 3.x,Module,Passwords,Boolean,我的脚本中有一个函数,它获取一个参数,并将其与一些设置变量进行比较,以查看密码的强度是否合适。每当我输入合适/不合适的密码时,它都会返回密码太弱的信息。代码如下: def check_password(_passw): length = len(_passw) < 8 num = re.search(r'\d', _passw) is None uppercase = re.search(r"[A-Z]", _passw) is None lowercas

我的脚本中有一个函数,它获取一个参数,并将其与一些设置变量进行比较,以查看密码的强度是否合适。每当我输入合适/不合适的密码时,它都会返回密码太弱的信息。代码如下:

def check_password(_passw):

    length = len(_passw) < 8
    num = re.search(r'\d', _passw) is None
    uppercase = re.search(r"[A-Z]", _passw) is None
    lowercase = re.search(r"[a-z]", _passw) is None

    suitable = not (length or num or uppercase or lowercase)

    if _passw is not suitable:
        print('Password weak, try again')
        sign_up()

    else:
        print('Password accepted')
def检查密码(\u passw):
长度=长度(_passw)<8
num=re.search(r'\d',u passw)为无
大写=重新搜索(r“[A-Z]”,_passw)为无
小写=重新搜索(r“[a-z]”,_passw)为无
合适=不合适(长度或数字或大写或小写)
如果_passw不合适:
打印('密码弱,重试')
注册
其他:
打印('接受密码')
真是太口语化了。你是说

if not suitable:  
编辑:
python中的“is”操作符测试两个变量是否指向相同的内存位置(又称实例)。它不比较这两个变量的值。例如,见

真是太口语化了。你是说

if not suitable:  
编辑:

python中的“is”操作符测试两个变量是否指向相同的内存位置(又称实例)。它不比较这两个变量的值。例如,请参见

提示:
合适的
是一个布尔值:
真的
假的
,但是
\u passw
是一个字符串。提示:
合适的
是一个布尔值:
真的
假的
,但是
\u passw
是一个字符串。是的,
\u passw不合适
表示
\u passw
合适
不是对同一对象的引用。是的,
\u passw不合适
意味着
\u passw
合适
不是对同一对象的引用。他们永远也不会这样。