Python中的 if...elif...else 语句属于程序流程控制的语句,用于条件判断中,根据不同的条件进入到不同的语句块进行执行。Python中的分支结构只有这一种,不像C#,Java等语言中还有switch语句。if,elif 和 else 是Python的关键字,不能用于定义其它标识符。
Python中标准的if-else语句语法结构如下:
if 条件1: # 语句块1elif 条件2: # 语句块2... # 可以有多个elifelse: # else语句块
要注意:
(1)Python是使用缩进来表示代码层级结构的,不能使用{}来表示语句块,同级的语句缩进量应相同;
(2)每个if-elif后都要紧跟一个条件表达式;
(3)如果相应的条件为True,则相应的语句块得到执行,而其它的语句块就不会再被执行;
(4)任何一个语句块被执行后,程序就会到if..elif..else后面的代码去执行;
(5)如果if-elif中的任何条件都不为True,则会执行else后的语句块;
(6)elif和else是可选的,可以有多个elif,也可以没有,else也可以有,也可以没有,但在一个基本的if..elif..else中只能有一个else。
(7)Python跟其它语言不通,if语句的条件不要放在括号中。
其执行过程可以使用下图来表示:
1、只有if语句
x = 10
if x==0:
print(x,"是一个偶数。")
print("程序执行完毕。")
输出结果:
10是一个偶数。
程序执行完毕。
2、if..else
x = 13
if x % 2 == 0:
print(x,"是一个偶数。")
else:
print(x, "是一个奇数。")
print("程序执行完毕。")
输出结果:
13是一个奇数。
程序执行完毕。
3、if...elif...else
输入一个分数,输出对应的等级(优秀,良好,中等,及格,不及格)
score = input("请输入分数:") #输入数据
score = int(score) # 把字符串转换为整数
if score > 100 or score < 0:
print("分数输入不合理。")
elif score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("中等")
elif score >= 60:
print("及格")
else:
print("不及格")
程序执行情况及输出结果:
请输入分数:83
良好
4、嵌套使用情况
x = input("请输入一个整型数字:")
x = int(x)
if x > 0:
print("你输入的是正整数。")
if x % 2 == 0:
print("该数字是偶数。")
else:
print("该数字是奇数。")
elif x < 0:
print("你输入的是一个负整数。")
if x % 3 == 0:
print("该数可以被3整除。")
if x % 5 == 0:
print("该数也可以被5整除。")
else:
if x % 2 == 0:
print("该数字是不能被5整除的偶数。")
else:
print("该数字是不能被5整除的奇数。")
else:
print("你输入的数字是0.")
执行情况:
请输入一个整型数字:-6
上面是5次测试运行的情况。
你输入的是一个负整数。
该数可以被3整除。
该数字是不能被5整除的偶数。
请输入一个整型数字:8
你输入的是正整数。
该数字是偶数。
请输入一个整型数字:5
你输入的是正整数。
该数字是奇数。
请输入一个整型数字:-9
你输入的是一个负整数。
该数可以被3整除。
该数字是不能被5整除的奇数。
请输入一个整型数字:0
你输入的数字是0.
在实际应用过程中,当分支结构比较复杂时,特别要注意,if,elif和else之间的匹配问题,否则会出错或得不到预期的结果。
5、写在一行中的if-else语句
在2、中,判断一个数是否为偶数的写法也可以写到同一行上。
x = 13
print(x, "是偶数" if x %2 == 0 else "是奇数")
输出结果:
13 是奇数
if语句也可以写在一行中:
x = 10
if x > 0: print("x是正数")
下图中给出了一些使用过程中可能犯的错误
本文(完)
新闻热点
疑难解答