如何检查布尔值是真还是假?

Posted

技术标签:

【中文标题】如何检查布尔值是真还是假?【英文标题】:How do I check if a boolean is true or false? 【发布时间】:2020-12-31 17:23:55 【问题描述】:

我有一个名为 programRepeated 的布尔值,我需要使用 if / else 语句检查它是真还是假。有没有办法做到这一点?

if programRepeated = True:
            print("Your balance is : $" , final_balance + cash_insert)
            print("")
        elif programRepeated = False:
            print("Your balance is : $" , final_balance + cash_insert - 5)
            print("")

【问题讨论】:

= 是赋值。请参阅教程,该教程还应涵盖 ==(比较)。另外,可以只使用if x:,当 x 是真假时。 布尔值不需要比较。这就是布尔值的意义所在。只需使用if programRepeated: 除了TrueFalse 之外,其他值是否应该被视为真值、假值或两者都不是?我会注意到这是真的基本的Python;我强烈建议通过a tutorial on the language as a whole 运行,因为通过 Stack Overflow 问题零碎学习基础知识是不切实际的。 这能回答你的问题吗? How do I use a Boolean in Python? 注意,对象默认被认为是 True,除非它们满足 False 的条件:***.com/questions/63876672/… 【参考方案1】:

布尔值可以直接进入条件 (if) 语句

if programRepeated:

如果programRepeated 等于true,则代码块将执行。

关于您的代码的一些注释:= 是一个赋值运算符。如果您想检查是否相等,请使用两个等号==。如果您尝试在条件中使用=,您的代码将引发语法错误。

另外,您的elif 应该与if 语句在同一个缩进上,在这种情况下您可以使用else

if programRepeated:
     print("Your balance is : $" , final_balance + cash_insert)
     print("")
else:
     print("Your balance is : $" , final_balance + cash_insert - 5)
     print("")

【讨论】:

= 不会让它总是正确的,这不是 C,并且在条件中使用 = 不是合法代码;它会在解析过程中以SyntaxError 死掉。 当心,“一个对象被认为是真实的,除非它的类定义了一个返回 False 的 __bool__() 方法或一个返回零的 __len__() 方法,当使用该对象调用时”。 is_launch_nuke = "不要发射!!!" launch_nuke() if is_launch_nuke 否则 print("Phew")。结果导致核弹发射。【参考方案2】:

好吧,你不需要显式添加= True,你可以这样做:

if programRepeated:
            print("Your balance is : $" , final_balance + cash_insert)
            print("")
        else:
            print("Your balance is : $" , final_balance + cash_insert - 5)
            print("")

【讨论】:

以上是关于如何检查布尔值是真还是假?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用@StateObject 修改布尔值?

PHP检查变量是真还是假[重复]

将字符串转换为布尔值[重复]

Python:如何使用循环仅访问列表的一些布尔元素?

在ios uiwebview objective-c中检查布尔值是yes还是no时出错

(14)awk布尔值比较和逻辑运算