python - 密码检查函数总是返回弱密码

时间:2017-08-07 18:36:03

标签: 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
    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')

1 个答案:

答案 0 :(得分:3)

if _passw is not suitable:

真的太口语了。你的意思是

if not suitable:  

编辑:
如果2个变量指向相同的内存位置(a.k.a.实例),则在python测试中使用'is'运算符。它不会比较这两个变量的值。例如,请参阅here