流程控制语句分成两大类:条件判断语句,循环语句
条件判断语句(if语句)
语法:
if 条件表达式 :
代码块
执行的流程:if语句在执行时,会先对条件表达式进行求值判断,
如果为True,则执行if后的语句
如果为False,则不执行
默认情况下,if语句只会控制紧随其后的那条语句,如果希望if可以控制多条语句,则可以在if后跟着一个代码块
代码块:
代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行。
代码块就是一种为代码分组的机制
如果要编写代码块,语句就不能紧随在:后边,而是要写在下一行
代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
缩进有两种方式,一种是使用tab键,一种是使用空格(四个)
Python的官方文档中推荐我们使用空格来缩进
Python代码中使用的缩进方式必须统一
可以使用逻辑运算符来连接多个条件,
如果希望所有条件同时满足,则需要使用and
如果希望只要有一个条件满足即可,则需要使用or
if num > 10 and num < 20 :
print('num比10大,num比20小!')
if 10 < num < 20 :
print('num比10大,num比20小!')
if-else语句:
让用户在控制台中输入一个年龄
age = int(input('请输入你的年龄:'))
如果用户的年龄大于18岁,则显示你已经成年了
if age >= 18 :
print('你已经成年了~~~')
if-else语句
语法:
if 条件表达式 :
代码块
else :
代码块
执行流程:
if-else语句在执行时,先对if后的条件表达式进行求值判断
如果为True,则执行if后的代码块
如果为False,则执行else后的代码块
if-elif-else语句
语法:
if 条件表达式 :
代码块
elif 条件表达式 :
代码块
elif 条件表达式 :
代码块
elif 条件表达式 :
代码块
else :
代码块
执行流程:
if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
如果表达式的结果为True,则执行当前代码块,然后语句结束
如果表达式的结果为False,则继续向下判断,直到找到True为止
如果所有的表达式都是False,则执行else后的代码块
if-elif-else中只会有一个代码块会执行
if age >= 18 and age < 30 :
print('你已经成年了!')
elif age >= 30 and age < 60 :
print('你已经中年了!')
elif age >= 60 :
print('你已经退休了!')
循环语句
循环语句可以使指定的代码块重复指定的次数
循环语句分成两种,while循环 和 for循环
while循环
语法:
while 条件表达式 :
代码块
else :
代码块
执行流程:
while语句在执行时,会先对while后的条件表达式进行求值判断,
如果判断结果为True,则执行循环体(代码块),
循环体执行完毕,继续对条件表达式进行求值判断,以此类推,
直到判断结果为False,则循环终止,如果循环有对应的else,则执行else后的代码块
条件表达式恒为True的循环语句,称为死循环,它会一直运行,慎用!
while True :
print('hello')
循环的三个要件(表达式)
初始化表达式,通过初始化表达式初始化一个变量
i = 0
条件表达式,条件表达式用来设置循环执行的条件
while i < 10 :
print(i)
# 更新表达式,修改初始化变量的值
i += 1
创建一个执行十次的循环
i = 0
while i < 10 :
i += 1
print(i,'hello')
else :
print('else中的代码块')
循环嵌套
创建一个循环来控制图形的高度
循环嵌套时,外层循环没执行一次,内存循环就要执行一圈
i = 0
while i < 5:
# 创建一个内层循环来控制图形的宽度
j = 0
while j < 5:
print("* ",end='')
j += 1
print()
i += 1
break:
break可以用来立即退出循环语句(包括else)
continue:
continue可以用来跳过当次循环
break和continue都是只对离他最近的循环起作用
pass:
pass是用来在判断或循环语句中占位的
创建一个5次的循环
i = 0
while i < 5:
if i == 3:
break
print(i)
i += 1
else :
print('循环结束')
i = 0
while i < 5:
i += 1
if i == 2:
continue
print(i)
else :
print('循环结束')
i = 0
if i < 5:
pass