单分支选择结构
if语句单分支结构的语法形式如下:
if 条件表达式:
语句/语句块
其中∶
①条件表达式∶可以是逻辑表达式、关系表达式、算术表达式等等。
②语句/语句块∶可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致
【操作】输入一个数字,小于0则打印
num = input("请输入一个小于10的数字:") if int(num)<10: print(num)
条件表达式详解
在选择和循环结构中,条件表达式的值为False的情况如下:False、0、0.0、空值None、空序列对象(空列表、空元祖、空集合、空字典、空字符串)、空range对象、空迭代对象。
其他情况,均为True。这么看来,Python所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。
·条件表达式中,不能有赋值操作符“=”
在Python中,条件表达式不能出现赋值操作符“=”,避免了其他语言中经常误将关系运算符“==”写作赋值运算符“=”带来的困扰。如下代码将会报语法错误∶
if 3<c and (c=20):
print("赋值符不能出现在条件表达式中")
双分支选择结构
if 条件表达式1:
语句1/语句块1
else:
语句2/语句块2
s = input("输入一个数字:") if int(s)<10: print("s是小于10的数字") else: print('s是不小于10的数字')
三元条件运算符
Python提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如下:
条件为真时的值 if(条件表达式) else 条件为假时的值
s = input("请输入一个小于10的数字") print(s if int(s)<10 else "数字太大")
多分支选择结构
if 条件表达式1:
语句1/语句块1
elif 条件表达式2:
语句2/语句块2
……
[else:
语句n/语句块n]
score = int(input("请输入分数")) grade = "" if score < 60: grade = "不及格" elif score < 80: grade = "合格" elif score < 90: grade = "良好" else: grade = "优秀" print("分数是{0},等级是{1}".format(score, grade))
选择结构嵌套
选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了代码的从属关系。语法格式如下:
if 表达式1:
语句块1
if 表达式2∶
语句块2
else:
语句块3
else:
if 表达式4∶
语句块4
score = int(input("请输入一个0-100之间的数字:")) grade="" if score > 100 or score < 0: score = int(input("输入错误!请重新输入一个0-100的数字:")) else: if score >= 90: grade = "A" elif score >= 80: grade = "B" elif score >= 70: grade = "C" elif score >= 60: grade = "D" else: grade = "E" print("分数是{0},等级是{1}".format(score, grade))