python - 条件运算符不匹配

标签 python c++ conditional-statements

当我在 python 中执行以下代码时

print(0<5<2)

它给出 False 作为输出 但在 C++ 中也是一样

std::cout<<(0<5<2);

返回真

为什么会出现这种矛盾?

最佳答案

在 Python 中,0 < 5 < 2相当于0 < 5 and 5 < 2 .
在 C++ 中,它等同于 static_cast<int>(0 < 5) < 2 .

Python 简写最初是受数学启发的,但是已经被广泛使用以至于你可以写出非常奇怪的东西,比如

>>> 1 < 5 in [2,3,4]
False
>>> 1 < 5 in [2,3,5]
True

让你所有的 friend 都感到困惑。

关于python - 条件运算符不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66337016/

相关文章:

python - 查找列表中丢失的字母(仅小写或大写)

python - Sphinx 从自定义代码引用中删除代码格式

c++ - tellp()计算stringstream长度的原理是什么?

c++ - 如何配置 autoreconf 使用不同于 GCC 的编译器

javascript - JAVASCRIPT 中 IF 条件上的 AND

python - 在 Pandas 中,如何根据列中以逗号分隔的项目计数创建数据框?

python - 如何使用 Python 将值直接插入到 SQL 基表中?

C++ 模板函数重载解析

sql - 如果结果为空,PostgreSQL 不过滤

javascript - jQuery 更改事件中忽略的条件?