Python基础语法05:条件和分支
条件语句是通过判断条件是否成立,根据条件表达式的结果做出决策,控制不同代码块的执行。
5.1 条件表达式
条件表达式由运算符
和操作数
组成
例如:a<4,其中a、4都是操作数,小于符号<是运算符
判断条件可以是具有布尔属性的任意元素,包括数据、变量或由变量与运算符组成的表达式,若其布尔属性为True,条件成立;若布尔属性为False,条件不成立。
除了非空常量外,Python还常使用关系操作符和成员运算符构成判断条件 。
条件表达式常用的运算符有:
算术运算符:+、-、*、/、//、%、**
关系运算符:
Python支持通过保留字not、and和or对判断条件进行逻辑组合:
- not,表示单个条件的“否”关系。如果“条件”的布尔属性为True,“not 条件”的布尔属性就为False;如果“条件”的布尔属性为False,“not 条件”的布尔属性就为True。
- and,表示多个条件之间的“与”关系。当且仅当使用and连接的所有条件的布尔属性都为True时,逻辑表达式的布尔属性为True,否则为False。
- or,表示多个条件之间的“或”关系。当且仅当使用or连接的所有条件的布尔属性都是False时,逻辑表达式的布尔属性为False,否则为True。
5.2 单分支选择结构
- 若if语句中的判断条件成立,执行if语句后的代码段;
- 若判断条件不成立,则跳过if语句后的代码段。
- 单分支结构中的代码段只有“执行”与“跳过”两种情况。
示例:使用单分支结构判断当天是否是星期天。
day = int(input("今天是工作日吗(请输入整数1~7)?"))
if day in [1,2,3,4,5]:
print("今天是工作日。")
if day in [6,7]:
print("今天非工作日。")
5.3 双分支选择结构
- 若if语句中的判断条件成立,执行代码段1
- 若判断条件不成立,则执行代码段2
示例:使用二分支结构判断当天是否是工作日。
day = int(input("今天是工作日吗(请输入整数1~7)?"))
if day in [1,2,3,4,5]:
print("今天是工作日。")
else:
print("今天非工作日。")
5.4 多分支选择结构
5.5 选择结构的嵌套
选择结构的嵌套是指选择结构的内部包含选择结构
5.6 三元表达式
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