在C编程中,以下代码块返回False
int a=15, b=10,c=5;
if(a>b>c)
{
printf("True");
}
else
{
printf("False");
}
但在Python中,以下 block 返回True。
a = 15
b = 10
c = 5
if a > b > c:
print("True")
else:
print("False")
编辑:从 link 找到解决方案,从python的角度解释得很好。从 C 编程的角度来看,这个 answer很好地解释了我的问题。
最佳答案
它们的行为不同,因为这就是语言的实现方式。
对于 C,a > b > c
是从左到右计算的。没有“运算符链接”的概念(我稍后会介绍),因此表达式的计算结果为 (a > b) > c
,即 1 > c
为 false
(在 C 语言中,逻辑表达式返回 1 或 0)。
在 python 中,OTOH,a > b > c
计算结果为 a > b 和 b > c
(如 documentation 中关于比较的指定),这将变成在这种情况下,结果为True
。
关于python - 条件语句在不同的语言中表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52523652/