Python入门:流程控制语句

发布时间:2026/9/6 23:02:23
Python入门:流程控制语句 文章目录1. 条件分支语句1.1 if 语句1.2 if - else 语句1.3 if - elif - else 语句1.4 嵌套条件分支语句1.5 条件表达式三元运算符2. while循环语句2.1 基本使用2.2 无限循环死循环2.3 while 循环与 else 子句2.4 循环控制语句在while循环中的应用2.5 注意事项3. for循环语句3.1 基本使用3.2 不同可迭代对象的使用3.3 range() 函数结合 for 循环3.4 嵌套 for 循环3.5 for 循环与 else 子句3.6 循环控制语句在 for 循环中的使用流程控制是 Python 编程的基础用于控制程序执行顺序。本文用简洁实例讲解条件语句、while 循环、for 循环的用法快速掌握核心逻辑。1. 条件分支语句条件分支语句允许程序根据不同的条件执行不同的代码块这大大增强了程序的灵活性和逻辑处理能力。1.1 if 语句if语句是最基础的条件分支语句用于判断一个条件是否为真如果为真则执行相应的代码块。基本语法ifcondition:# 当 condition 为 True 时执行的代码块statement(s)其中condition是一个布尔表达式其结果为True或Falsestatement(s)是要执行的代码可以是一条或多条语句这些语句需要保持相同的缩进通常为4个空格。示例# 判断年龄是否是18岁以上。age20ifage18:print(你已经成年了。)1.2if - else语句if - else语句在if的基础上增加了一个else分支当if条件不成立时执行else后面的代码块。基本语法ifcondition:# 当 condition 为 True 时执行的代码块statement(s)_if_trueelse:# 当 condition 为 False 时执行的代码块statement(s)_if_false示例# 判断是否成年满18周岁age15ifage18:print(你已经成年了。)else:print(你还未成年。)1.3if - elif - else语句当需要判断多个条件时可以使用if - elif - else语句。elif是else if的缩写用于在if条件不成立时检查其他条件。基本语法ifcondition1:# 当 condition1 为 True 时执行的代码块statement(s)_1elifcondition2:# 当 condition1 为 False 且 condition2 为 True 时执行的代码块statement(s)_2# 可以有多个 elif 语句elifcondition3:statement(s)_3else:# 当以上所有条件都为 False 时执行的代码块statement(s)_else示例# 根据成绩评级score85ifscore90:print(优秀)elifscore80:print(良好)elifscore60:print(及格)else:print(不及格)1.4 嵌套条件分支语句嵌套使用时外层的条件分支语句先进行判断若满足相应条件进入其代码块后内层的条件分支语句会进一步进行判断从而实现更细致的逻辑控制。示例num10ifnum0:ifnum0:print(数字是零。)else:print(数字是正数。)else:print(数字是负数。)1.5 条件表达式三元运算符条件表达式是一种简洁的用于条件判断并赋值的语法结构。相比于传统的 if-else 语句三元运算符可以让代码更加紧凑。基本语法value_if_trueifconditionelsevalue_if_false# 为真的结果 if 条件 else 条件为假的结果condition这是一个布尔表达式其计算结果为 True 或者 False。value_if_true当 condition 的结果为 True 时整个三元运算符表达式返回的值。value_if_false当 condition 的结果为 False 时整个三元运算符表达式返回的值。示例# 判断一个数是偶数还是奇数num10result偶数ifnum%20else奇数print(result)三元表达式只适用于简单的逻辑判断 而不能适用于复杂的逻辑判断2. while循环语句while循环是 Python 中用于重复执行代码块的流程控制语句之一只要指定的条件为真就会持续执行循环体中的代码。2.1 基本使用基本语法whilecondition:# 循环体当 condition 为 True 时重复执行的代码块statement(s)condition是一个布尔表达式用于判断循环是否继续执行。每次循环开始前都会检查该条件如果为True则执行循环体如果为False则退出循环。statement(s)是循环体包含了要重复执行的代码可以是一条或多条语句这些语句需要保持相同的缩进通常为 4 个空格。执行流程首先计算condition的值。如果condition为True则执行循环体中的代码。循环体执行完毕后再次计算condition的值。重复步骤 2 和 3直到condition为False此时退出循环。示例代码# 打印 0 到 4 的数字count0whilecount5:print(count)countcount1初始化变量count为 0。然后进入while循环检查count 5这个条件由于初始时count为 0条件为True所以执行循环体打印count的值并将count加 1。之后再次检查条件只要count小于 5循环就会继续执行直到count变为 5 时条件为False循环结束。2.2 无限循环死循环如果 while 循环的条件始终为 True则会形成无限循环。在实际应用中无限循环通常用于需要持续运行的程序例如服务器程序。示例whileTrue:user_inputinput(请输入内容输入 q 退出)ifuser_inputq:breakprint(f你输入的内容是{user_input})在这个示例中while True 会创建一个无限循环程序会不断提示用户输入内容。如果用户输入 ‘q’则使用 break 语句跳出循环否则打印用户输入的内容。2.3 while 循环与 else 子句Python 的 while 循环可以带有一个可选的 else 子句。当 while 循环的条件变为 False 时会执行 else 子句中的代码。如果循环是通过 break 语句终止的则不会执行 else 子句。语法whilecondition:# 循环体statement(s)else:# 当循环正常结束时执行的代码additional_statement(s)示例count0whilecount5:print(count)countcount1else:print(循环正常结束)在上述代码中当count从 0 递增到 5 时while循环正常结束此时会执行else子句打印出 “循环正常结束”。2.4 循环控制语句在while循环中的应用break语句break语句用于立即退出当前所在的循环无论循环条件是否仍然为真。执行到 break 后循环直接终止程序会继续执行循环后面的代码。count0whileTrue:ifcount3:breakprint(count)countcount1在这个例子中使用while True创建了一个无限循环但在循环体中通过if语句判断count是否等于 3如果等于 3 则执行break语句立即退出循环。continue语句continue语句用于跳过本次循环的剩余代码直接进入下一次循环的判断循环不会终止。count0whilecount5:countcount1ifcount3:continueprint(count)在上述代码中当count等于 3 时执行continue语句跳过print(count)这一行代码直接进入下一次循环继续判断count 5这个条件。passpass语句是一个空操作作为占位符使用什么也不做常用于确保语法的完整性比如在定义函数、类等时暂时不想写具体代码可用 pass 占位。2.5 注意事项避免无限循环死循环如果while循环的条件始终为True且循环体中没有合适的终止条件如使用break语句则会导致无限循环程序会一直运行下去消耗系统资源。例如whileTrue:print(这是一个无限循环)为了避免这种情况要确保循环条件在适当的时候能够变为False或者在循环体中使用break语句来终止循环。循环变量的更新在while循环中通常需要在循环体中更新用于控制循环条件的变量否则可能会导致无限循环或不符合预期的结果。例如在前面的例子中通过count count 1来更新count的值从而使循环条件在适当的时候变为False。3. for循环语句for 循环是一种非常常用的流程控制语句用于遍历可迭代对象如列表、元组、字符串、字典等中的元素。3.1 基本使用基本语法for变量in可迭代对象:# 循环体对每个元素执行的操作代码块在每次循环迭代中变量会依次被赋值为可迭代对象中的一个元素然后执行循环体中的代码块直到可迭代对象中的所有元素都被遍历完。3.2 不同可迭代对象的使用遍历列表fruits[apple,banana,cherry]forfruitinfruits:print(fruit)上述代码中fruits 是一个列表for 循环会依次将列表中的元素赋值给 fruit 变量并打印出来。遍历字符串wordhelloforcharinword:print(char)这里 word 是一个字符串循环会逐个字符地遍历字符串并打印。遍历元组numbers(1,2,3,4,5)fornuminnumbers:print(num*2)此例中numbers 是一个元组循环将元组中的每个元素取出乘以 2 后打印。遍历字典student{name:Alice,age:20,grade:A}# 遍历字典的键forkeyinstudent:print(key)# 遍历字典的值forvalueinstudent.values():print(value)# 同时遍历字典的键和值forkey,valueinstudent.items():print(f{key}:{value})字典有不同的遍历方式可以只遍历键、只遍历值或者同时遍历键和值。3.3 range() 函数结合 for 循环range()函数可以生成一个不可变的整数序列常与 for 循环结合使用来控制循环次数。基本语法- range(stop) # 生成从 0 开始到 stop-1 的整数序列不包含 stop 本身 - range(start, stop) # 生成从 start 开始到 stop-1 的整数序列 - range(start, stop, step) # 生成从 start 开始步长为 step且小于 stop若 step 为正的整数序列示例# 1. range(stop)foriinrange(5):print(i,end )# 输出0 1 2 3 4# 2. range(start, stop)foriinrange(2,7):print(i,end )# 输出2 3 4 5 6# 3. range(start, stop, step)foriinrange(1,10,2):# 步长为2间隔1print(i,end )# 输出1 3 5 7 9# 步长为负数倒序foriinrange(5,0,-1):print(i,end )# 输出5 4 3 2 13.4 嵌套 for 循环可以在一个 for 循环内部再使用另一个 for 循环常用于处理二维数据结构如矩阵。matrix[[1,2,3],[4,5,6],[7,8,9]]forrowinmatrix:forelementinrow:print(element,end )print()上述代码通过嵌套 for 循环遍历了一个二维列表矩阵中的每个元素。3.5 for 循环与 else 子句在 Python 中for 循环可以带有 else 子句当循环正常结束即没有被 break 语句中断时会执行 else 子句中的代码。核心逻辑else 子句只在循环正常结束时执行即循环遍历完所有元素没有被 break 语句中断。foriin范围:有数据执行的语句else没有数据执行的语句 numbers[1,2,3,4,5]fornuminnumbers:ifnum6:print(找到 6 了)breakelse:print(没有找到 6)3.6 循环控制语句在 for 循环中的使用break 语句用于立即终止当前所在的 for 循环。foriinrange(10):ifi5:breakprint(i)当 i 等于 5 时执行 break 语句循环立即结束。continue 语句用于跳过本次循环的剩余代码直接进入下一次循环。foriinrange(10):ifi%20:continueprint(i)当 i 是偶数时执行 continue 语句跳过 print(i) 语句直接进入下一次循环。passpass语句是一个空操作作为占位符使用什么也不做常用于确保语法的完整性比如在定义函数、类等时暂时不想写具体代码可用 pass 占位。掌握条件判断与循环语句能让代码更清晰、高效。熟练运用流程控制是写出规范、健壮 Python 程序的关键一步。