python主要分为三大流程结构:顺序结构、分支结构、循环结构
顺序结构就是从头开始以此执行每一条代码
分支结构就是程序会有选择性的执行代码
循环结构就是程序会不断重复的执行同一段代码
if语句就属于分支结构
条件测试
每条if语句的核心都是一个值为True或则和False的表达式,而这种表达式就被称为条件测试(布尔表达式)
python会根据条件测试的值来判断是否要执行if语句中的代码,若为True,就执行代码,若为False,就跳过代码
if语句(单向分支)
最简单的if语句只有一个测试以及一个操作
'''
if a:
b
这就是一个简单的if语句的基本格式
a处是一个条件测试
a后面的冒号:代表要进入if里面的语句块
b就是if语句内的代码块(注意前面是有缩进的)
'''
# 一个简单的例子
age = 15
if age >= 18:
print('你成年了')
'''
运行这段代码不会有任何输出
因为if语句后面的条件测试为False
不会运行if语句内部的代码块
'''
age = 19
if age >= 18:
print('你成年了')
print(123)
'''
这个时候会同时输出两个结果
你成年了 和 123
因为条件测试为True所以会执行if内部的代码
而print(123)不在if内部,所以一定会执行
'''
if-else语句(双向分支)
这个语句可以在条件测试通过时执行一个操作,未通过时执行另一个操作
'''
if 条件测试:
代码块1
else:
代码块2
如果条件测试时True就执行代码块1
如果是False就执行代码块2
'''
age = int(input('请输入你的年龄:'))
if age >= 18:
print('你成年了')
else:
print('你未成年')
# 这时候运行会得到其中的一个结果
if……elif……else(多项分支)
有很多时候我们要判断的内容要多于两种情况,这时候就可以使用多项分支
'''
if 条件测试1:
代码块1
elif 条件测试2:
代码块1
……
else:
代码块n
python只会执行这个多项分支中的一个代码块
就是说如果有一个条件测试满足
那么之后的所有代码都会被跳过,不会执行
当所有条件测试都不满足的时候,会执行else的代码块
else是可以没有的
elif可以有0个,也可以有很多个
'''
# 比如我们可以给上面的双向分支加一个输入错误的判断
age = int(input('请输入你的年龄:'))
if age >= 18:
print('你成年了')
elif 0 < age < 18:
print('你未成年')
else:
print('你的年龄输入有误')
# 我们知道年龄是正数,这时候如果输入了一个负数,就会有年龄输入有误的提示
if语句的嵌套
以上的三种if语句之间可以相互嵌套
就是说if语句之中还可以有if语句
age = int(input('请输入你的年龄:'))
if age > 0:
if age >= 18:
print('你成年了')
else:
print('你未成年')
else:
print('你的输入有误')
关键字pass
这个关键字可以起到一个占位的作用
在写代码时有可能会遇到暂时还不需要去填写代码的地方,这个时候可以先用pass占位,这样系统可以跳过这里,不会报错
例如
age = int(input('请输入你的年龄:'))
if age >= 18:
print('你成年了')
else:
pass
'''
如果你成年了会执行if里面的语句块
但是如果你未成年,还没有想好要写入什么代码的话
可以先用pass占位,这时候系统不会做任何事情
可以在之后再对else里面填写代码
'''
三目运算符
pyhton提供了一个简洁的语法用来编写比较简单的if语句
'''
a if 条件测试 else b
其中a是满足条件测试时执行的
b是不满足条件测试时执行的
'''
age = 15
print('你成年了') if age >= 18 else print('你未成年')
# 会得到 你未成年 这个方法可以减少代码行数