概念:条件语句是通过判断条件是否成立,根据条件表达式的结果做出决策,控制不同代码块的执行。
条件表达式
条件表达式是由运算符和操作数组成的。
判断条件可以是具有布尔属性的任意元素,包括数据、变量或由变量与运算符组成的表达式,若其布尔属性为True,条件成立;若布尔属性为False,条件不成立。
注意:除了非空常量外,Python还常使用关系操作符和成员运算符构成判断条件 。
Python支持通过保留字not、and和or对判断条件进行逻辑组合:
1.not,表示单个条件的“否”关系。如果“条件”的布尔属性为True,“not 条件”的布尔属性就为False;如果“条件”的布尔属性为False,“not 条件”的布尔属性就为True。
2.and,表示多个条件之间的“与”关系。当且仅当使用and连接的所有条件的布尔属性都为True时,逻辑表达式的布尔属性为True,否则为False。
3.or,表示多个条件之间的“或”关系。当且仅当使用or连接的所有条件的布尔属性都是False时,逻辑表达式的布尔属性为False,否则为True。
单分支选择结构
if判断条件:代码段。
1.若if语句中的判断条件成立,执行if语句后的代码段;
2.若判断条件不成立,则跳过if语句后的代码段。
3.单分支结构中的代码段只有“执行”与“跳过”两种情况。
示例:使用单分支结构判断当天是否是星期天。
day = int(input("今天是工作日吗(请输入整数1~7)?"))
if day in [1,2,3,4,5]:
print("今天是工作日。")
if day in [6,7]:
print("今天非工作日。")
双分支选择结构
(1)if判断条件:代码段1。
(2)else:代码段2。
1.若if语句中的判断条件成立,执行代码段1。
2.若判断条件不成立,则执行代码段2。
示例:使用二分支结构判断当天是否是工作日。
day = int(input("今天是工作日吗(请输入整数1~7)?"))
if day in [1,2,3,4,5]:
print("今天是工作日。")
else:
print("今天非工作日。")
多分支选择结构
(1)if 判断条件:代码段1。
(2)elif 判断条件:代码段2。
······
(3)elif 判断条件:代码段n。
(4)else:代码段n+1。
选择结构的嵌套
选择结构的嵌套是指选择结构的内部包含选择结构。
三元表达式
python中没有c语言中的三目运算符,但是可以通过以下的形式实现三目运算符的功能。
格式:条件判断为真时的结果 if 判断条件 else 条件为假时的结果。
示例:x=x-1 if x>0 else x=x+1。
if x > 0:
x = x - 1
else:
x = x + 1
示例:利用三元表达式来实现裴波那契数列:
def fun(n):
return n if n < 2 else fun(n - 1) + fun(n - 2)
示例:bool方法选择相应的值。
x = 1
print([2, 3][bool(x)])
x = 0
print([2, 3][bool(x)])
输出结果:
3
2