if:“如果”条件满足,就做X,否则就不做,引用Crossin的图:
else就是“否则”就做Y,当if后面的条件语句不满足时,将执行与之对应的else中的代码
如:
if a==1:
print('right')
else:
print('wrong')
elif的含义为else if,“否则如果”条件满足,就执行对应的代码,elif后面和if一样需要带逻辑判断语句,当if的条件不满足时,再去判断elif的条件是否满足,如果满足就执行其中的代码:
如:
if a==1:
print(1)
elif a==2:
print(2)
if、elif、else可组成一个整体的条件语句,其中:
if是必须有的;
elif可以没有,也可以有很多个,每个elif的条件不满足时会进入下一个elif的判断;
else可以没有,有的话只能有一个,必须在条件语句的最后,且没有逻辑判断语句。
如:
if a==1:
print(1)
elif a==2:
print(2)
elif a==3:
print(3)
else:
print('wrong')
例:修改8中的小游戏,使其中的函数代码中包含if、elif、else。
def guess(num1,num2):
if num1num2:
print('太大了!')
return 0;
else:
print('猜对了!')
return 1
from random import randint
num = randint(0,100)
print('猜猜我在想什么?')
bingo=0
while bingo==0:
answer=int(input())
bingo=guess(answer,num)
和for循环一样,即可以在if、elif、else内部继续使用if语句。如:
在上面的结构当中,
条件1为True,条件2为True时,
执行语句1;
条件1为True,条件2为False时,
执行语句2;
条件1为False,条件2为True时,
执行语句3;
条件1为False,条件2为False时,
执行语句4。
elif和if的使用一样。
例:向程序随机产生两个值x,y,(x,y)构成二维坐标上的一个点,判断这个点所在的象限,输出1或2或3或4:
from random import randint
x=randint(-100,100)
y=randint(-100,100)
if x>0:
if y>0:
print(1)
else:
print(4)
else:
if y>0:
print(2)
else:
print(3)