如果条件在c ++和python中执行运算符[重复]

Posted

技术标签:

【中文标题】如果条件在c ++和python中执行运算符[重复]【英文标题】:If condition with operators execution in c++ and python [duplicate] 【发布时间】:2016-01-13 18:12:38 【问题描述】:

关于如何在 C++ 和 Python 中执行的简单问题。 如果我有一个 if 条件

if ((b == c) and (a == b))

我对上述情况的怀疑是, 如果第一部分,即(b == c)false 然后执行第二个条件,即(a == b),或者无论第一部分输出是什么,第二部分都会执行,而不管。

【问题讨论】:

【参考方案1】:

在c++和python中,andor操作都支持short-circuiting,即如果and左边部分为假,右边部分不求值;如果or 的左边部分为真,则不计算右边部分。

在 c++ 中,这是符合标准的(§5.14/1):

&& 运算符组从左到右。操作数都根据上下文转换为 布尔 (条款 4 )。 结果是 真的 如果两个操作数都是 真的 和 错误的 否则。不像 & , && 保证从左到右 评估:如果第一个操作数是,则不评估第二个操作数 错误

和(§5.15/1):

|| 运算符组从左到右。操作数都根据上下文转换为 布尔 (条款 4 )。它 返回 真的 如果它的任何一个操作数是 真的 , 和 错误的 否则。不像 | , || 保证从左到右 评估;此外,如果第一个操作数的计算结果为 真的 .

在文档中也提到的python中(python2,python3):

x or y | if x is false, then y, else x (1)x and y | if x is false, then x, else y (2)

注意事项:

(1) 这是一个短路运算符,所以它只在第一个参数为 False 时才计算第二个参数。 (2) 这是一个短路运算符,所以它只在第一个参数为 True 时计算第二个参数。

【讨论】:

感谢您的精彩见解。!

以上是关于如果条件在c ++和python中执行运算符[重复]的主要内容,如果未能解决你的问题,请参考以下文章

python中循环语句

在c语言编程中,如果先执行一条语句,隔段时间,在执行下一条语言,该怎样实现呢?

有没有办法在 Python (3) for 循环中执行条件?

C/C++ 和其他语言中的条件变量使用模式

R语言中的循环语句

python语言如何结尾?