【Python 第23课】if, elif, else


今天补充之前讲过的一个语句:if。为什么我跳要着讲,因为我的想法是先讲下最最基本的概念,让你能用起来,之后你熟悉了,再说些细节。

 

关于 if,可以回顾 7. if。它除了我们之前讲的用法外,还可以配合 elifelse 使用,使程序的运行顺序更灵活。

 

之前说的 if,是:“如果”条件满足,就做xxx,否则就不做。

else 顾名思义,就是:“否则”就做yyy。

当if后面的条件语句不满足时,与之相对应的 else 中的代码块将被执行。

if a == 1:
   print('right')
else:
   print('wrong')

 

elif 意为 else if,含义就是:“否则如果”条件满足,就做yyy。elif 后面需要有一个逻辑判断语句。

当if条件不满足时,再去判断 elif 的条件,如果满足则执行其中的代码块:

if a == 1:
   print ('one')
elif a == 2:
   print ('two')

 

if, elif, else 可组成一个整体的条件语句。

  1. if 是必须有的;
  2. elif 可以没有,也可以有很多个,每个elif条件不满足时会进入下一个elif判断;一旦满足,执行完就结束整个条件语句;
  3. else 可以没有,如果有的话只能有一个,必须在条件语句的最后。
if a == 1:
   print ('one')
elif a == 2:
   print ('two')
elif a == 3:
   print ('three')
else:
   print ('too many')

 

我们昨天刚改写的小游戏中的函数 isEqual,用了三个条件判断,我们可以再改写成一个包含 if...elif...else 的结构:

def isEqual(num1, num2):
   if num1<num2:
       print ('too small')
       return False;
   elif num1>num2:
       print ('too big')
       return False;
   else:
       print ('bingo')
       return True

 

 

运行效果和之前是一样的,不过代码逻辑更合理一点。

 

来源:Crossin的编程教室