当前位置: 首页 > 知识库问答 >
问题:

Python中的条件“或”运算符未正确验证

云丰
2023-03-14
status= None
if 'Up' or 101 in status:
    print "Inside If statement"
else:
    print "Inside Else Statement"

代码流进入“If”循环并打印“insideif语句”。状态实际上是None,通过读取代码,它应该打印“Inside-Else语句”。我可以修改验证部分并使其在else语句中执行。但是我想知道这个条件如何返回“True”

if 'Up' or 101 in status:

共有1个答案

仲绍晖
2023-03-14

Python中的字符串是falsy,也就是说空字符串(')等同于False,而其他字符串则是True

您的情况评估为(括号仅用于解释)

if ('Up') or (101 in status):

由于'Up'始终为,因此它将始终进入if块中。

你可以改写:

if 'Up' in status or 101 in status:

或者使用any的更通用方法是:

if any(x in status for x in ('Up', 101)):

你可以在这个问题中找到更多的答案

 类似资料:
  • 本文向大家介绍Python条件表达式(或“三元运算符”),包括了Python条件表达式(或“三元运算符”)的使用技巧和注意事项,需要的朋友参考一下 示例 三元运算符用于内联条件表达式。最好在易于阅读的简单,简洁的操作中使用。 参数的顺序与许多其他语言(例如C,Ruby,Java等)不同,当不熟悉Python的“令人惊讶”行为的人使用它时,它们可能会导致错误(它们可能会颠倒顺序)。 有些人认为它“笨

  • 问题内容: 尝试编译时出现“不是语句”的编译错误,代码为: 当这些功能是: 有任何想法吗? 问题答案: 是的,您不能像这样使用条件运算符。其目的是计算一个或另一个 表达式 。它并不是要选择一个要执行的 语句 或另一条 语句 的方法。 只需使用:

  • 我们如何在给定的mysql查询中选择记录:请帮助我选择查询用大小写当var1像值1或var2像值2然后'有效'其他'无效'从xx作为s 在这个查询总是运行其他条件请指导我一个有效的方法。

  • 问题内容: 此方法搜索第一组单词字符(即),返回第一个匹配的组或出现故障的情况。 相同的函数可以重写为: 这是相同的,并且已记录为行为。作为此页中明确指出: 表达式首先计算; 如果为假,则返回其值;否则,将求值并返回结果值。 但是,作为布尔运算符(甚至在手册中也是如此),我希望返回一个布尔值。结果,当我发现这是如何工作时,我感到非常惊讶。 有什么其他用例,和/或这种不太直观的实现的原理是什么? 问

  • Java 提供了一个特别的三元运算符(也叫三目运算符)经常用于取代某个类型的 if-then-else 语句。 条件运算符的符号表示为“?:”,使用该运算符时需要有三个操作数,因此称其为三目运算符。使用条件运算符的一般语法结构为: 其中,expression 是一个布尔表达式。当 expression 为真时,执行 statement1, 否则就执行 statement3。此三元运算符要求返回一个

  • 主要内容:RxJava 条件运算符 介绍,RxJava 条件运算符 示例RxJava 条件运算符 介绍 以下是用于 Observable 的条件运算符。 运算符 描述 All 评估发出的所有项目以满足给定标准。 Amb 仅在给定多个 Observable 的情况下从第一个 Observable 发出所有项目。 Contains 检查 Observable 是否发出特定项目。 DefaultIfEmpty 如果 Observable 不发出任何内容,则发出默认项。 Se