判断三个数中最大值
本帖最后由 shark8890 于 2021-10-11 11:35 编辑判断三个数中谁最大,居然可以这样写?这样的算法好像不合逻辑啊?
a=3
b=4
c=1
if(a>b>c):
print("a is max",a)
elif(b>a>c):
print("b is max",b)
else:
print("c is max",c)
================ RESTART: C:/Users/admin/Desktop/python/test.py ================
b is max 4
这种a>b>c在C语言中好像不能这样写表达式吧?
C语言这样写,输出的是c is max
#include <stdio.h>
main(){
int a=3,b=2,c=1;
if(a>b>c)
{
printf("a is max");
}
if(b>a>c)
{
printf("b is max");
}
else
{ printf("c is max");}
}
很多语言都支持这种写法,不要被语法迷惑,其实底层还不是和C语言一样的实现原理。 只要明白程序语言当中的原理,你想怎样写都可以(很多书上没有教的,书上只是基础原理) 本帖最后由 傻眼貓咪 于 2021-10-11 11:46 编辑
c 语言属於编译语言
范例:
if(a > b > c) 如同 if((a > b) > c)
假设 a > b 为真(1)
那么 if((a > b) > c) 如同 if(1 > c)
而 Python 属於直译语言,这是两者不同之处,Python 比较人性化
范例:
if a > b > c 如同 if (a > b) and (b > c) 傻眼貓咪 发表于 2021-10-11 11:43
c 语言属於编译语言
范例:
感谢回复,这个回复解答了我的疑惑。
这个是否可以等同理解为,c是编译型语言,而python是解释型语言呢? 编译型其实就是系统会将代码先全部看过一遍,确定没有错,然后执行
而解释型则是就算下面有错,系统还是会执行上面没有错的部分(可以说是走一步看一步) 傻眼貓咪 发表于 2021-10-11 12:42
编译型其实就是系统会将代码先全部看过一遍,确定没有错,然后执行
而解释型则是就算下面有错,系统还是会 ...
if(a > b > c) 如同 if((a > b) > c)
假设 a > b 为真(1)
那么 if((a > b) > c) 如同 if(1 > c)
而 Python 属於直译语言,这是两者不同之处,Python 比较人性化
范例:
if a > b > c 如同 if (a > b) and (b > c)
那和您说的这个是有关联的吗?c语言和python对于a>b>c的不同处理方式 shark8890 发表于 2021-10-11 12:52
if(a > b > c) 如同 if((a > b) > c)
假设 a > b 为真(1)
那么 if((a > b) > c) 如同 if(1 > c)
抱歉,没有直接关联,只是多介绍两者程序差别{:5_105:}
页:
[1]