☰
[Python-3] 分支与循环
2026/11/3 2:46:26 网站建设 项目流程

一、程序执行流程

程序的执行流程,可以理解为:程序按照什么顺序执行语句,以及在什么情况下执行哪些语句。

我们先认识三种基本流程:顺序、分支和循环。

1、顺序结构

顺序结构是最基本的执行方式。在没有被分支、循环等结构改变执行路径时,程序按照语句的先后顺序执行。

a=1b=2c=a+bprint("c:",c)

2、分支结构

有些操作并不是每次都要执行。例如,根据成绩判断是否及格:

score=75ifscore>=60:print("及格")else:print("不及格")print("判断结束")

每次执行时根据条件选择其中一条。

3、循环结构

有些操作需要重复进行。

fornumberinrange(1,4):print("第",number,"关")print("游戏结束")

Python 中还可以使用while根据条件重复执行。

二、分支语句

在程序中,我们经常需要根据不同情况执行不同操作。Python使用if、elif和else组织这样的判断。

1、if

if用于判断一个条件,并在条件成立时执行对应的代码。

score=75ifscore>=60:print("成绩及格")print("继续学习")print("成绩判断结束")

计算条件score >= 60,score是75,所以条件结果为True。条件成立,执行if下面缩进的两条语句。执行完if代码块后,继续执行外面的print("成绩判断结束")。

如果将score改为59,条件结果为False,两条缩进语句会被跳过。

💡 条件表达式返回Ture或False。

2、if-else

单独的if只说明条件成立时做什么。如果条件不成立时也需要执行其他操作,可以使用else。

score=59ifscore>=60:print("成绩及格")else:print("成绩不及格")print("成绩判断结束")

if条件成立,则执行if代码块,否则执行else代码块。

⚠️else后面不写判断条件;它与对应的if对齐,末尾同样需要冒号。

ifa<10:passelse:print("a: ",a)

💡 如果想让某个分支什么豆不做,不能什么都不写,pass是一个空语句,什么都不做。

3、if-elif-else

如果需要依次判断多个条件,可以在if和else之间加入elif。

score=85ifscore>=90:print("优秀")elifscore>=80:print("良好")elifscore>=60:print("及格")else:print("不及格")

一组if-elif-else中,最多执行一个分支。

⚠️ 以上的if、elif、else后面都要加冒号。

4、缩进与代码块

缩进是指在一行代码开头留出一定的空白,让代码向右移动。一个代码块里面可以包含另一个代码块。

代码块是在程序结构中属于一起的一组语句。例如,if后面的代码块,就是条件成立时需要执行的语句:

score=75ifscore>=60:print("及格")print("成绩达到要求")print("判断结束")

这里两条缩进的print()属于if的代码块。最后一条print()没有缩进,位于if代码块之外。

💡 Python中通常每增加一级缩进使用4个空格。这是代码风格建议,并不是语法强制。

三、循环语句

实际问题往往需要程序做出重复操作,此时我们就可以使用循环语句。

1、while

基本语法:

while条件:循环体

while在每一轮开始前判断条件:条件为真,执行循环体。一轮执行完毕后,再次判断条件。条件为假,结束循环,继续执行循环后面的语句。

2、for

基本语法:

for变量in可迭代对象:循环体

这里的"可迭代对象"可以暂时理解为,能够依次提供多个元素的对象。例如:

forcharin"Python":print(char)print("循环结束")

for循环就是按一定的规则依次便利可迭代对象中的元素。默认规则就是从前到后依次遍历。

1)使用range()控制循环次数
当我们希望程序重复执行指定次数时,可以使用range()提供一组整数,再通过for依次取出。

fornumberinrange(3):print(number)

range(3)依次提供0、1、2,因此循环执行3次。

如果只关心重复次数,不需要使用取出的数字,通常可以使用下划线_作为循环变量

2)指定循环范围range(start, stop)

fornumberinrange(2,5):print(number)

range(start, stop)函数,提供的区间是左闭右开,即[start,stop)。

3)控制遍历步幅range(start, stop, step)
step表示每次变化的步长,省略时默认为1。

fornumberinrange(1,7,2):print(number)

⚠️range()返回的是一个表示整数序列的range对象,不是列表。

3、break和continue

break和continue都写在循环体内,用于改变循环的执行过程。

1)break
执行break后,程序立即结束所在的最内层循环,继续执行该循环后面的语句。

fornumberinrange(1,6):ifnumber==3:breakprint(number)print("循环结束")

2)continue
执行continue后,程序跳过当前这一轮循环体中剩余的语句,再尝试进行下一轮循环。

fornumberinrange(1,6):ifnumber==3:continueprint(number)

💡 while和for循环可以互相嵌套,break和continue按需使用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询