文章目录
选择结构
通过判断条件是否成立,来决定执行哪个分支。单分支、双分支、多分支
单分支
if 条件表达式:
语句/语句块
num = input("输入一个数字:")
if int(num)<10:
print(num)
#需要将num整数化,否则报错
条件表达式
Python所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。
False的情况如下:False、0、0.0、空值None、空序列对象(空列表、空元祖、空集合、空字典、空字符串)、空range对象、空迭代对象。其他情况,均为True。
条件表达式中,不能有赋值操作符“=”
if 3:
print("OK")
a = []
if a:
print("空列表,Flase")
s = "Flase"
if s:
print("非空字符串,是True")
#OK
#非空字符串,是True
if 3<c and (c=20):
print("赋值不能出现在条件表达式中")
#SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='?
双分支
if 条件表达式 :
语句1/语句块1
else:
语句2/语句块2
num = input("请输入一个数字:")
if int(num)>10:
print(num)
else:
print("数字太小")
三元条件运算符
条件为真时的值 if (条件表达式) else 条件为假时的值
num = input("请输入一个数字:")
print(num if int(num)>10 else "数字太小")
多分支
if 条件表达式1 :
语句1/语句块1
elif 条件表达式2:
语句2/语句块2
.
.
.
elif 条件表达式n :
语句n/语句块n
[else:
语句n+1/语句块n+1
]
#案例1:学生成绩等级
score = input("请输入学生成绩:")
grade = ""
if int(score)<60:
grade = "不及格"
elif int(score)<79:
grade = "及格"
elif int(score)<89:
grade = "良好"
else:
grade = "优秀"
print("分数是{0},等级是{1}".format(score,grade))
#案例2:坐标判断象限
x = int(input("请输入x坐标:"))
y = int(input("请输入y坐标:"