【李刚-21天通关Python-11】之 if 分支
一、三种程序结构
1、顺序结构
- 顺序结构就是程序从上到下一行行执行,中间没有任何判断和跳转
- 如果不使用流程控制,Python程序的语句是一个顺序执行流
2、分支结构
- if 分支使用布尔表达式或布尔变量作为分支条件来进行分支控制
- Python的 if 分支既可作为语句使用,也可作为表达式使用
3、循环结构
二、if 分支的三种语法格式
# 1
'''
if 条件:
执行体
'''
# 2
'''
if 条件:
执行体1
else:
执行体2
'''
# 3
'''
if 条件:
执行体1
elif 条件:
执行体2
elif 条件:
执行体2
……
else:
执行体3
'''
score = int(input("请输入成绩:"))
if score > 90:
print("优秀")
elif score > 80:
print("良好")
elif score > 70:
print("中等")
elif score > 60:
print("及格")
else:
print("不及格")
三、注意点
1、缩进
- Python的语句块是通过缩进来标记的,相同缩进的多行代码属于同一个语句块
- 同一个代码块可以缩进1个空格、2个空格……或一个Tab位,这都是符合语法要求的。但同一个代码块的缩进要统一。
2、冒号
- Python的冒号精确表示代码块的开始点
- 条件执行体、循环体、方法体、类体都是从冒号开始,后面统一缩进的部分算一个整体的代码块
四、if 条件的类型
- if 条件可以是任意类型,除了False本身之外,各种代表“空”的None、空字符串、空元组、空列表、空字典,都会被当成False处理,以下各值都会被当作False:
- False、None、0、""、()、[]、{}
- 若 if 条件不为空,则被当作True
五、if 条件的逻辑问题
- else 的隐藏条件是 if 条件的取反
- 要先处理范围小的条件再处理范围大的条件
score = int(input("请输入成绩:"))
if score > 60:
print("及格")
# else的隐藏条件为score<=60,加上elif现有的条件score>70,所以不可能成立
# 即 print("中等") 这条语句不可能执行
else score > 70:
print("中等")
六、if 表达式
age = int(input("请输入您的年龄: ")) # input 25
print("年龄大于25岁") if age > 25 else print("年龄等于25岁") if age == 25 else print("年龄小于25岁")
# 年龄等于25岁
七、pass 语句
- pass 语句就是空语句
- 有时候程序需要占一个位、放一条语句,但又不希望这条语句做任何事,此时就可以通过 pass 语句来实现
- 通过 pass 语句可以让程序更完整
score = int(input("请输入成绩:"))
if score > 90:
pass