Python学习
4.2 流程控制语句之条件控制二
引例:
如果a=1,输出‘apple’;
如果a=2,输出‘orange’;
如果a=3,输出‘banana’;
如果a不等于以上的数字,则输出‘shopping’。
编写这个小程序,如下:
a = input()
print('a is'+ a)
if a==1:
print('apple')
else:
if a==2:
print('orange')
else:
if a==3:
print('banana')
else:
print('shopping')
但是,当输入1或2或3时,都输出‘shopping’,这是为什么呢?
原来,input()函数只接收字符串,当输入1时,认为是字符串类型‘1’,故无法与数字1匹配,才走到最后一步。
改正:
a = int(input())
if a==1:
print('apple')
else:
if a==2:
print('orange')
else:
if a==3:
print('banana')
else:
print('shopping')
如上图,将a转化成“int类型”。
以上的代码虽然逻辑正确,但是缩进繁琐,阅读起来不是那么清晰,于是我们引入elif。如下:
a = int(input())
if a == 1:
print('apple')
elif a == 2:
print('orange')
elif a == 3:
print('banana')
else:
print('shopping')
用elif的好处是使代码看起来更简洁,更容易阅读。