Python 控制流语句:掌控程序执行的魔杖
发布时间:2026/8/20 21:51:49 作者:尧图编辑部 阅读量:1,286

在学习编程的过程中掌握控制流语句是至关重要的一步。 它们就像魔杖一样能够控制程序的执行流程让程序能够根据不同的条件做出不同的反应或者重复执行特定的代码块。 本文将带你了解 Python 中最常用的控制流语句并通过简单的例子让你轻松掌握它们的使用方法开启你的编程之旅。一、条件语句让程序会思考 (if, elif, else)条件语句允许程序根据不同的条件执行不同的代码块。 Python 提供了if、elif和else关键字来实现条件语句。if语句判断真假决定是否执行if语句用于判断一个条件是否为真 (True)。 如果条件为真则执行if语句后面的代码块否则跳过该代码块。语法if condition: # 如果 condition 为真则执行这里的代码elif语句多重判断层层递进elif语句 (else if 的缩写) 用于检查多个条件。 如果前面的if语句的条件为假则检查elif语句的条件。 如果elif语句的条件为真则执行elif语句后面的代码块否则跳过该代码块。语法if condition1: # 如果 condition1 为真则执行这里的代码 elif condition2: # 如果 condition1 为假且 condition2 为真则执行这里的代码else语句最后的选择默认的执行else语句用于处理所有条件都不满足的情况。 如果前面的if语句和所有elif语句的条件都为假则执行else语句后面的代码块。语法if condition1: # 如果 condition1 为真则执行这里的代码 elif condition2: # 如果 condition1 为假且 condition2 为真则执行这里的代码 else: # 如果 condition1 和 condition2 都为假则执行这里的代码代码示例# 简单的 if 语句 age 20 if age 18: print(你已经成年了) # if-else 语句 number 10 if number % 2 0: print(这是一个偶数) else: print(这是一个奇数) # if-elif-else 语句 score 85 if score 90: grade A elif score 80: grade B elif score 70: grade C else: grade D print(f你的成绩等级是{grade}) # 嵌套的 if 语句 x 10 y 5 if x 0: if y 0: print(x 和 y 都是正数) else: print(x 是正数但 y 不是正数) else: print(x 不是正数)运行结果二、循环语句让程序重复工作 (for, while)循环语句允许程序重复执行特定的代码块从而实现自动化处理。 Python 提供了for和while关键字来实现循环语句。for循环遍历序列逐个处理for循环用于遍历序列 (例如字符串、列表、元组) 或其他可迭代对象。 对于序列中的每个元素for循环都会执行一次循环体中的代码。语法for item in sequence: # 对于序列中的每个 item执行这里的代码代码示例 1遍历列表my_list [1, 2, 3, 4, 5] for item in my_list: print(item)运行结果1 2 3 4 5代码示例 2遍历字符串my_string hello for char in my_string: print(char)运行结果h e l l owhile循环条件满足持续执行while循环用于在条件为真时重复执行代码块。 只要条件为真while循环就会一直执行下去。 因此在使用while循环时务必确保循环条件最终会变为假否则会导致无限循环。语法while condition: # 如果 condition 为真则执行这里的代码代码示例count 0 while count 5: print(count) count 1运行结果0 1 2 3 4break语句跳出循环提前结束break语句用于跳出循环。 当break语句被执行时循环会立即终止程序会跳到循环后面的代码继续执行。代码示例numbers [1, 2, 3, 4, 5] for number in numbers: if number 3: break # 跳出循环 print(number)运行结果1 2continue语句跳过本次继续下一次continue语句用于跳过当前循环迭代继续下一次迭代。 当continue语句被执行时循环会跳过当前迭代中剩余的代码直接进入下一次迭代。代码示例numbers [1, 2, 3, 4, 5] for number in numbers: if number 3: continue # 跳过当前迭代 print(number)运行结果1 2 4 5else子句循环完成额外奖励else子句可以与for和while循环一起使用。 如果循环是正常结束的 (即没有被break语句中断)则执行else子句中的代码。代码示例numbers [1, 2, 4, 5] for number in numbers: if number 3: break print(number) else: print(循环正常结束) # 只有在循环没有被 break 语句中断时才会执行运行结果1 2 4 5 循环正常结束嵌套循环可以在循环内部嵌套其他的循环。 嵌套循环可以用于处理多维数据或执行复杂的迭代操作。代码示例for i in range(3): for j in range(2): print(fi {i}, j {j})运行结果i 0, j 0 i 0, j 1 i 1, j 0 i 1, j 1 i 2, j 0 i 2, j 1三、pass语句占位符保持代码结构的完整pass语句是一个空语句它不做任何事情。 它通常用作占位符在需要但尚未实现代码的地方使用以保持代码结构的完整性。代码示例# 在 if 语句中使用 pass age 15 if age 18: pass # 以后再添加处理成年人的代码 else: print(你还未成年) # 在函数定义中使用 pass def my_function(): pass # 以后再添加函数的功能运行结果四、练习题巩固所学提升技能1、编写一个程序判断一个年份是否为闰年。题目描述闰年是指能被 4 整除但不能被 100 整除或者能被 400 整除的年份。 请编写一个程序输入一个年份判断该年份是否为闰年并输出相应的结果。思路提示使用if-elif-else语句来判断年份是否满足闰年的条件。参考代码year int(input(请输入一个年份)) if (year % 4 0 and year % 100 ! 0) or (year % 400 0): print(f{year} 是闰年) else: print(f{year} 不是闰年)运行结果2、编写一个程序计算一个整数的阶乘。题目描述阶乘是指从 1 乘以该数本身。 例如5 的阶乘是 1 * 2 * 3 * 4 * 5 120。 请编写一个程序输入一个整数计算该整数的阶乘并输出结果。思路提示使用for循环或while循环来计算阶乘。参考代码# 使用 for 循环 number int(input(请输入一个整数)) factorial 1 if number 0: print(负数没有阶乘) elif number 0: print(0 的阶乘为 1) else: for i in range(1, number 1): factorial * i print(f{number} 的阶乘为 {factorial}) # 使用 while 循环 number int(input(请输入一个整数)) factorial 1 i 1 if number 0: print(负数没有阶乘) elif number 0: print(0 的阶乘为 1) else: while i number: factorial * i i 1 print(f{number} 的阶乘为 {factorial})运行结果3、编写一个程序打印九九乘法表。题目描述九九乘法表是一个经典的数学表格用于展示 1 到 9 的乘法结果。 请编写一个程序打印九九乘法表。思路提示使用嵌套的for循环来打印九九乘法表。参考代码for i in range(1, 10): for j in range(1, i 1): print(f{j} * {i} {i * j}, end\t) # 使用 end\t 可以使输出对齐 print() # 换行运行结果4、编写一个程序判断一个数是否为素数。题目描述素数是指只能被 1 和自身整除的数 (大于 1 的整数)。 请编写一个程序输入一个整数判断该整数是否为素数并输出相应的结果。思路提示使用for循环来检查该数是否能被 2 到该数平方根之间的任何数整除。 如果能被整除则不是素数否则是素数。 注意对 1 和 2 进行特殊处理。参考代码import math number int(input(请输入一个整数)) if number 1: print(f{number} 不是素数) elif number 2: print(f{number} 是素数) else: is_prime True for i in range(2, int(math.sqrt(number)) 1): #只需要循环到平方根即可 if number % i 0: is_prime False break if is_prime: print(f{number} 是素数) else: print(f{number} 不是素数)运行结果五、总结掌握控制流开启编程新世界控制流语句是 Python 编程的基础也是编写复杂程序的关键。 通过本文的学习你应该对 Python 的控制流语句有了基本的了解并且掌握了常用的语法和技巧