流程控制 - 详细说明

流程控制是编程中的核心概念,它决定了程序执行的顺序。Python提供了三种基本的流程控制结构:顺序结构、判断结构和循环结构。掌握这些结构对于编写高效、逻辑清晰的程序至关重要。

流程控制概览

Python中的流程控制结构具有以下特点:

  • 顺序结构:程序按照代码的书写顺序依次执行
  • 判断结构:根据条件选择不同的执行路径
  • 循环结构:重复执行某段代码直到满足特定条件
  • 控制语句:break、continue和pass等语句用于改变程序流程

顺序结构

顺序结构是程序最基本的执行方式,代码按照从上到下的顺序依次执行。

# 顺序结构示例
print("程序开始执行")

# 步骤1:获取用户输入
name = input("请输入您的姓名:")

# 步骤2:处理数据
greeting = f"你好,{name}!"

# 步骤3:输出结果
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 处理多维数据或复杂逻辑
# 循环结构示例
# for循环 - 遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(fruit)

# for循环 - 使用range()函数
for i in range(5): # 0到4
    print(i)

for i in range(1, 6): # 1到5
    print(i)

for i in range(1, 10, 2): # 1,3,5,7,9
    print(i)

# while循环
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 循环正常结束时执行 循环结束后执行特定操作
# 循环控制示例
# break语句 - 找到目标后立即退出
numbers = [1, 3, 5, 7, 9, 11]
target = 7
for num in numbers:
    if num == target:
        print(f"找到了目标数字 {target}")
        break
    print(f"当前数字: {num}")

# continue语句 - 跳过某些迭代
for i in range(10):
    if i % 2 == 0: # 如果是偶数
        continue # 跳过偶数
    print(i) # 只打印奇数

# pass语句 - 占位符
for i in range(5):
    if i == 3:
        pass # 暂时不做任何操作,保持结构完整
    else:
        print(i)

# else语句 - 循环正常结束时执行
for i in range(5):
    print(i)
else:
    print("循环正常结束")

# 注意:如果循环被break终止,else块不会执行
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:
    # 检查从2到num-1是否有因子
    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语法的重要部分。
← 返回知识点列表