a >= b 在数学上有什么不合理之处 < c chained comparison?

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

Herb Sutter 在他的

cppfront
中仅实现了链式比较的子集,并在他的主题演讲 (https://youtu.be/fJvPBHErF2U?si=RqcR661yBzcQ8r5_&t=850) 中指出
a >= b < c
“在数学上不合理”:

数学教科书中充满了诸如

a > b < c
等表示最小值或
a >= b < c
表示单边最小值的表达式。这些连锁的同情心在数学上有什么不合理之处?

c++ comparison-operators chained
1个回答
0
投票

通常我们将

a < b < c
写为
a < b
b < c
a < c
的简写。假设情况确实如此,并且
<, >, <=, >=
是传递性的(通常是这种情况),那么写成
a < b > c
将意味着
a < b
b < c
a > c
始终为假。当且仅当
a <= b > c
a = b
时,写
b > c
才可能为真,但这仍然不是 Python 的解释。

在Python中,写作

a < b > c
,意味着
a < b
,而
b > c
a
c
之间没有进行比较,这意味着该陈述可能是正确的。同样,对
a <= b > c
的解释也完全不同,因为在很多情况下
a != b
并且该陈述仍然正确。

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