计算机程序设计的一个重要概念,就是精确控制执行顺序。
需要开发者设计一个或多个可以检测的条件,随着程序语句的执行和条件检测的满足与否,决定程序的执行顺序。
Python 语言提供了以下的条件控制类型语句。
- if 语句
- if….else 语句
- if..elif..else 语句
- 嵌套if 语句
- 含 not 操作符的 if语句
- 含 and 操作符的 if语句
- 含 in 操作符的 if 语句
Python if 语句
if 表达式:
语句
Python 的 if 语句会执行检测冒号前面的表达式。如果为 true (非零) , 条件语句块内的语句将被执行,如果检测是 false (0) ,条件语句块内的语句将被跳过不执行。
例子
x=20
y=10
if x > y :
print(" X 大 ")
输出
X 大
这个程序有两个变量 x 和 y,x 赋值 20,y 赋值 10,if 条件测试表达式 (x>y)是否为真。 在本程序 x > y 为 true,所以继续执行语句块,输出消息 “X is bigger”。
Python if..else 语句
else 语句指定特定的程序代码块,如果if的条件表达式为 false,则执行。
if 表达式:
语句
else:
语句
例子
x=10
y=20
if x > y :
print(" X 大 ")
else :
print(" Y 大 ")
输出
Y 大
在上面的代码中,测试if表达式是否成立。在这里 x > y 是 false, 所以会执行 else 里面的代码块。
if..elif..else 语句
if 表达式:
语句
elif 表达式:
语句
else:
语句
elif 是 else if 的简写,并且可以避免过度缩排。
例子
x=500
if x > 500 :
print(" X 大于 500 ")
elif x < 500 :
print(" X 小于 500 ")
elif x == 500 :
print(" X 是 500 ")
else :
print(" X 不是一个数 ")
输出
X 是 500
上面的例子,每一个测试依次被执行, 如果为真,则会执行相应的代码块,如果没有为真的,则执行 else 的代码块。
嵌套 if 语句
有的情况,需要将一个 if 语句放在另一个 if 语句的里面。
if 条件:
if 条件:
语句
else:
语句
else:
语句
例子
mark = 72
if mark > 50:
if mark > = 80:
print ("你获得A级 !!")
elif mark > =60 and mark < 80 :
print ("你获得B级 !!")
else:
print ("你获得C级 !!")
else:
print("你失败了!!")
输出
你获得B级 !!
含 not 操作符的 if 语句
使用 not 关键字,可以改变表达式的意义,更多是取反表达式。
例子
mark = 100
if not (mark == 100):
print("分数不是 100")
else:
print("分数是 100")
输出
分数是 100
也可以改用 “!=” 操作符。
例子
mark = 100
if (mark != 100):
print("分数不是 100")
else:
print("分数是 100")
输出
分数是 100
含 and 操作符的 if 语句
等价的写法是用 “&& “。
例子
mark = 72
if mark > 80:
print ("你获得A级 !!")
elif mark > =60 and mark < 80 :
print ("你获得B级 !!")
elif mark > =50 and mark < 60 :
print ("你获得C级 !!")
else:
print("你失败了!!")
输出
你获得B级 !!
含 in 操作符的 if 语句
例子
color = ['红','蓝','绿']
selColor = "红"
if selColor in color:
print("红在列表里面")
else:
print("不在列表里面")
输出
红在列表里面