gpt4 book ai didi

python - 'if' 和 'else if' 之间的主要区别是什么?

转载 作者:行者123 更新时间:2023-12-03 15:04:49 32 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Difference between multiple if's and elif's?

(9 个回答)


7年前关闭。




例如...

据一些专家介绍,

这里的条件是互斥的:

if(n>0):
print "Number is Positive"
if(n<0):
print "Number is Negative"
if(n==0):
print "Number is ZERO"

最好用 elif 和 else 重写:
 if n > 0:
print "Number is Positive"
elif n < 0:
print "Number is Negative"
else:
print "Number is ZERO"

所以我只想问一个问题, 有什么区别吗? '如果' 'elif' .我知道“if ”和“elif ”之间的基本区别。但我只想知道,为什么有些新手程序员更喜欢“elif”而不是“if”?

最佳答案

第一种形式if-if-if测试所有条件,而第二个 if-elif-else只测试需要的次数:如果它找到一个条件,即 True ,它会停止并且不评估其余部分。换句话说:if-elif-else当条件互斥时使用。

让我们写一个例子。如果要确定三个数字之间的最大值,我们可以测试一个值是否大于或等于其他数字,直到找到最大值 - 但是一旦找到该值,就无需测试其他数字:

greatest = None
if a >= b and a >= c:
greatest = a
elif b >= a and b >= c:
greatest = b
else:
greatest = c
print greatest

或者,我们可以假设一个初始值是最大的,然后依次测试其他每个值以查看假设是否成立,并根据需要更新假设值:
greatest = None
if a > greatest:
greatest = a
if b > greatest:
greatest = b
if c > greatest:
greatest = c
print greatest

如您所见, if-if-ifif-elif-else有用,这取决于您需要做什么。特别是,我的第二个例子更有用,因为将条件放在循环中很容易 - 所以我们有多少数字并不重要,而在第一个例子中我们需要写很多为每个额外的数字手动设置条件。

关于python - 'if' 和 'else if' 之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25703446/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com