在 if 语句中声明布尔变量

问题描述 投票:0回答:1

我在 if 语句中声明了一个名为 length 的变量,该变量检查字符串的长度。之后,我尝试检查长度的值,但收到错误消息,指出它“不与任何值关联”。 Here is the code which compares different boolean variables.

我尝试分配长度值1,认为它也可能认为它是正确的,但它不起作用。

python if-statement variables scope boolean
1个回答
0
投票

欢迎来到 Stack Overflow。

首先,请不要发布代码截图:为什么我不应该上传代码/数据/错误的图片?

其次,您的

length
变量是在
if
块内定义的。如果不满足
if
的条件,则
length
变量永远不会被初始化。您需要在
if
块之前将长度初始化为默认值,或者添加
else
并在那里初始化默认的
length

此外,您似乎正在将

length
变量与其他布尔值进行比较。因此,最好将长度设置为布尔值而不是整数

length = False
if len(str) >= 8:
    length = True

您还可以简化您的返回语句:如果您只是想返回所有检查是否为真,您可以写:

return all((upper, lower, number, length, special))

如果所有变量都是

True
,则返回
True
,否则返回
False

© www.soinside.com 2019 - 2024. All rights reserved.