目录
Python提供的控制结构有三种:顺序结构、选择结构和循环结构
一、条件判断语句
1、单分支
if判断语句
生活中的判断:如果—>动作
程序中的判断:
if 要判断的条件:
条件成立时,要做的事情
语句块(不受if条件的约束)
当if判断条件结果:
为True时,代码会被执行
为False时,代码不会执行
注:(1)判断语句的结果,必须是布尔类型True或False
(2)归属于if判断的代码语句块,需在前方填充四个空格缩进
2、双分支
if-else语句
生活中的判断:如果—>动作,否则—>动作
程序中的判断:
if 条件:
满足条件要做的事情
else:
不满足条件要做的事情
注:(1)else后不需要判断条件
(2)归属于else的代码语句块,需在前方填充四个空格缩进
3、多分支
if-elif-else语句
if 条件1:
满足条件1要做的事情
elif 条件n:
满足条件n要做的事情
.......
else:
所有条件不满足要做的事情
注:(1)elif可以写多个
(2)可以完成多个条件的判断
(3)判断是互斥且有序的,上一个满足后面的就不会判断了
4、判断语句的嵌套
如图,第二个if属于第一个if内,只有第一个if满足条件,才会执行第二个if。当外层if不满足,直接执行外层else。
if 条件1:
满足条件1要做的事情
......
if 条件n:
满足条件n要做的事情
......
else:
条件1不满足要做的事情
注:(1)用于多条件、多层次的逻辑判断
(2)嵌套的关键点在于:空格缩进
(3)通过空格缩进来决定语句之间的:层次关系
二、循环语句
1、while循环
程序中的循环:
while 条件:
满足条件要做的事情
else:
循环正常结束后要做的事情
while的条件需要得到布尔类型,True表示继续循环,False表示结束循环,退出循环体
注意: while-else语法:如果while循环正常结束,else中的语句正常执行。如果while循环中有break等导致while循环没有正常执行完毕,那么else中的内容就不会执行。
注:(1)只要条件满足,会无限循环执行
(2)需要设置循环终止的条件,否则将无限循环
(3)空格缩进和if判断一样
2、while循环的嵌套
循环内套循环
while 条件1:
满足条件1要做的事情
while 条件2:
满足条件2要做的事情
.......
3、for循环(遍历循环)
for循环是一种“轮询”机制,是对一批内容进行“逐个处理”
程序中的for循环:(无法定义循环条件)
for 临时变量 in 待处理的数据集(序列类型:其内容可以一个个依次取出的一种类型):
循环满足条件时执行的代码
else:
循环正常结束时要做的事情
注意: for-else语法:如果for循环正常结束,else中的语句正常执行。如果for循环中有break等导致for循环没有正常执行完毕,那么else中的内容就不会执行。
[拓展]-临时变量作用域:
在编程规范上,作用范围只限定在for循环内部。
如果要访问临时变量,可以预先在循环外定义它
4、for循环的嵌套
for 临时变量 in 待处理的数据集(序列):
循环满足条件时执行的代码
for 临时变量 in 待处理的数据集(序列):
循环满足条件时执行的代码
5、continue和break
(1)continue:中断本次循环,直接进入下一次循环(临时跳过)
for i in range(1,n):
语句1
continue
语句2
如图,在循环中,遇到continue就结束本次循环,进行下一次,所以语句2是不会执行的
应用场景:在循环中,因某些原因,临时结束本次循环
for i in range(1,n):
语句1
for j in range(1,n):
语句2
continue(只能控制内层for循环)
语句3(不会执行)
语句4
注意:continue关键字只可以控制:它所在的循环临时中断
(2)break:直接结束循环
for i in range(1,n):
语句1
break
语句2
语句3
如图,在循环内,遇到break就结束循环了,所以,执行了语句1后,直接执行语句3了
for i in range(1,n):
语句1
for j in range(1,n):
语句2
break(只能结束内层for循环)
语句3(不会执行)
语句4
注意:break关键字只可以控制:它所在的循环结束
6、range语句
获得一个数字序列
(1)range(num):获取一个从0开始,到num结束的数字序列(不含num本身)
(2)range(num1,num2):获取一个从num1开始,到num2结束的数字序列(不含num2本身)
(3)range(num1,num2,step):获取一个从num1开始,到num2结束的数字序列(不含num2本身),数字间的步长,以step为准(step默认为1)
还在学??既然如此,嘿嘿嘿嘿~~点赞关注支持一下吧!