刚学编程python想问个问题

选择语句为什么不直接像这样全用if,非要用elif,这有什么讲究吗,还是单纯看着得劲

img

elif 是else if 的缩写,是在否定了if的前提下才能执行的语句,
比如

if a>2:
  print()
if a>0:
  print()

当a>2时会输出两次

if a>2:
  print()
elif a>0:
print()

只会输出一次
如果你不能确保你的逻辑没问题,还是使用 if elif 更加保险

这样全用if,非要用elif ?
这样可以归为一类哈,根据一个变量等判断不同分支。

你可以这样理解,if后面接elif ,假如是一个问题的多种情况,分别判断每种情况,这种情况后面接if也可以的

但是如果是并列的问题,比如说第一个if a == 0 第二个if b=='c'
两个if之间没有关联,就不建议用if

总结,并不是非要用elif,根据实际情况可调整

望采纳, 谢谢!

一个if可以对应多个elif和一个else,执行满足一个就结束筛选,只会满足其中一个分支
如果你全用if的话就是多层筛选,if会从上到下依次执行,可能会满足多个分支

用if..elif...else的前提是所有分支条件没有重合区域的情况,比如判断一个a与0的关系,大于,等于,小于这就是不重合的情况,就可以用if..elif...else,同时也以a与0的关系为例说明为什么不全用if
if a>0:
xxxx
elif a==0:
xxxxx
else:
xxxx
这种情况下,最多只需要做两次比较就可以确定最终结果,甚至可能一次就好,换全if
if a>0:
xxxx
if a == 0:
xxxx
if a<0:
xxxx
这种情况下无论a是什么值,都需要比较3次,在效率上比if elif会差很多

这个嘛你用if也行,但用elif运行起来更快,因为上一个条件如果成立的话就不执行下一个了(当然本来运行就很快了)