兲崆 2025-06-15 23:56 采纳率: 66.7%
浏览 6

python注册时密码强度检验失败

在使用python编写登录注册时,写了一个测试密码强度的代码,使用的时候发现,没有进入这行判断代码进行判断,不知道是哪里写错了,没有报错,但是判断没有用


```python
        if not re.findall('^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{8,16}$', password):
            print('\n密码太弱,必须包含大写字母,小写字母和数字,\n并且长度必须为8-16位')
        continue

```

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-06-15 23:58
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解答

    你的问题是关于Python中密码强度检验的代码没有生效的问题。

    从你的代码中,我可以看到,你使用了一个名为n的变量来判断密码强度,但是你没有提供这个变量的定义和赋值。

    在Python中,变量的作用域是从定义到最后一个赋值为止。如果你在某个作用域中定义了变量,但是没有赋值,那么这个变量将是None

    因此,在你的代码中,如果n变量没有被赋值,那么if n语句将总是返回False,从而导致密码强度检验失败。

    解决这个问题的方法是,确保你在代码中正确地定义和赋值了n变量。例如,你可以使用一个函数来计算密码强度,然后将结果赋值给n变量。

    def check_password_strength(password):
        # 你的密码强度计算逻辑
        return n
    
    if check_password_strength(password):
        # 你的密码强度检验逻辑
    

    在上面的代码中,我假设你有一个名为check_password_strength的函数,它将计算密码强度并返回结果,然后你可以使用这个结果来判断密码强度是否满足要求。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月15日