【问题标题】:What is different if and elif? [duplicate]if 和 elif 有什么不同? [复制]
【发布时间】:2021-03-06 11:02:16
【问题描述】:

if 在代码中比 elif 强? 或者如果和 elif 相同?

if a[number_counter] == answer:
    a_count+=1
elif b[number_counter] == answer:
    b_count+=1
elif c[number_counter] == answer:
    c_count+=1

这个代码比我改代码有问题

if a[number_counter] == answer:
    a_count+=1
if b[number_counter] == answer:
    b_count+=1
if c[number_counter] == answer:
    c_count+=1

代码没有问题。

【问题讨论】:

  • 您的条件不是互斥的 - answer 可能等于其中任何一个或全部,因此 逻辑 取决于您是否使用单个if statement(案例 1)或多个单独的 if 语句(案例 2)。哪个正确取决于你的上下文。
  • 这能回答你的问题吗? Difference between multiple if's and elif's?

标签: python


【解决方案1】:

不一样。

它基本上是 else if 但连接到 elif。如果您使用 elif ,则检查相同的条件,如果满足,则退出。

如果你一直使用 ifs,它会检查每个 if 语句是否前一个为真。

这只是普通的 Python 语法。

x = 0
if x == 0:
#do something
#if True it doesn't check the rest
elif x ==1:
#do something
#if true if doesn't check the rest
elif x==2:
#do something
#if true doesn't check the rest
else:
#if none of these are True this gets exucuted
#do something

#It checks all these if statements whether or not one is true. 
if x==1:
#do something 
if x==2:
#something

【讨论】:

  • 不一样。仅当它检查所有条件时。使用 elif 时,它会在匹配单个条件时停止检查。
  • 已经添加进去了。