流程控制是编程中的核心概念,它决定了程序执行的顺序。Python提供了三种基本的流程控制结构:顺序结构、判断结构和循环结构。掌握这些结构对于编写高效、逻辑清晰的程序至关重要。
流程控制概览
Python中的流程控制结构具有以下特点:
- 顺序结构:程序按照代码的书写顺序依次执行
- 判断结构:根据条件选择不同的执行路径
- 循环结构:重复执行某段代码直到满足特定条件
- 控制语句:break、continue和pass等语句用于改变程序流程
顺序结构
顺序结构是程序最基本的执行方式,代码按照从上到下的顺序依次执行。
print("程序开始执行")
name = input("请输入您的姓名:")
greeting = f"你好,{name}!"
print(greeting)
print("程序执行完毕")
提示: 顺序结构是程序的基础,但大多数程序需要结合判断和循环结构来实现复杂逻辑。
判断结构
判断结构根据条件表达式的结果选择不同的执行路径。Python中使用if语句实现判断结构。
| 判断类型 |
语法结构 |
说明 |
| 单分支 |
if 条件: ... |
条件为真时执行代码块 |
| 双分支 |
if 条件: ... else: ... |
条件为真时执行一个代码块,否则执行另一个 |
| 多分支 |
if 条件1: ... elif 条件2: ... else: ... |
根据多个条件选择执行路径 |
| 分支嵌套 |
if 条件1: if 条件2: ... |
在一个判断结构中嵌套另一个判断结构 |
age = 18
if age >= 18:
print("您已成年")
score = 85
if score >= 60:
print("成绩合格")
else:
print("成绩不合格")
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("中等")
elif score >= 60:
print("及格")
else:
print("不及格")
age = 20
has_id = True
if age >= 18:
if has_id:
print("可以进入")
else:
print("需要出示身份证")
else:
print("未成年人禁止入内")
注意: Python使用缩进来标识代码块,同一代码块内的语句必须保持相同的缩进级别,通常使用4个空格。
循环结构
循环结构用于重复执行某段代码,直到满足特定条件。Python提供了for循环和while循环两种循环结构。
| 循环类型 |
语法结构 |
适用场景 |
| for循环 |
for 变量 in 序列: ... |
遍历序列中的每个元素 |
| while循环 |
while 条件: ... |
当条件为真时重复执行 |
| 循环嵌套 |
for/while 内部包含 for/while |
处理多维数据或复杂逻辑 |
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(fruit)
for i in range(5):
print(i)
for i in range(1, 6):
print(i)
for i in range(1, 10, 2):
print(i)
count = 0
while count < 5:
print(f"计数: {count}")
count += 1
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}×{i}={i*j}", end="\t")
print()
循环控制语句
Python提供了break、continue和pass等语句来控制循环的执行流程。
| 控制语句 |
作用 |
示例 |
| break |
立即终止整个循环 |
找到目标后立即退出循环 |
| continue |
跳过当前迭代,进入下一次循环 |
跳过某些特定条件的处理 |
| pass |
空语句,不做任何操作 |
占位符,保持代码结构完整 |
| else |
循环正常结束时执行 |
循环结束后执行特定操作 |
numbers = [1, 3, 5, 7, 9, 11]
target = 7
for num in numbers:
if num == target:
print(f"找到了目标数字 {target}")
break
print(f"当前数字: {num}")
for i in range(10):
if i % 2 == 0:
continue
print(i)
for i in range(5):
if i == 3:
pass
else:
print(i)
for i in range(5):
print(i)
else:
print("循环正常结束")
for i in range(5):
if i == 3:
break
print(i)
else:
print("这行不会执行")
综合应用示例
下面是一个综合应用判断和循环结构的示例:判断一个数是否为素数。
num = int(input("请输入一个正整数: "))
if num <= 1:
print(f"{num} 不是素数")
elif num == 2:
print(f"{num} 是素数")
else:
is_prime = True
for i in range(2, num):
if num % i == 0:
is_prime = False
break
if is_prime:
print(f"{num} 是素数")
else:
print(f"{num} 不是素数")
注意: 在使用while循环时,要确保循环条件最终会变为False,否则会导致无限循环。在开发过程中,可以使用Ctrl+C来中断无限循环。
提示: 在编写复杂的判断和循环结构时,合理使用注释和空行可以提高代码的可读性。同时,注意保持代码的缩进一致,这是Python语法的重要部分。