【Python】Python常用控制结构详解:条件判断、遍历与循环控制

发布于:2025-05-13 ⋅ 阅读:(20) ⋅ 点赞:(0)

Python提供了多种控制结构来处理逻辑判断和循环操作,包括if-else条件分支、switch替代方案、遍历方法以及循环控制语句breakcontinue。以下是对这些功能的详细说明及示例:


一、条件判断:if-else与多分支结构

  1. 单分支结构
    • 语法:仅当条件为True时执行代码块。
if condition:
    # 条件成立时执行

示例(网页6):

age = 18
if age >= 18:
    print("已成年")
  1. 双分支结构(if-else
    • 语法:根据条件真假执行不同代码块。
if condition:
    # True时执行
else:
    # False时执行

示例(网页7):

a = 20
if a > 10:
    print("a大于10")
else:
    print("a小于等于10")
  1. 多分支结构(if-elif-else
    • 语法:处理多个互斥条件。
if condition1:
    # 条件1成立时执行
elif condition2:
    # 条件2成立时执行
else:
    # 其他情况执行

示例(网页8):

score = 85
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
else:
    print("需努力")

二、switch替代方案
Python无原生switch语句,但可通过以下方式实现类似功能:

  1. 字典映射
    • 用法:通过键值对映射不同条件对应的操作。
def switch_case(value):
    cases = {
        1: "Case 1",
        2: "Case 2"
    }
    return cases.get(value, "默认值")

示例(网页11):

key = 2
result = switch_case(key)  # 输出:Case 2
  1. match-case(Python 3.10+)
    • 语法:类似switch的模式匹配(网页9):
match value:
    case 1:
        print("匹配1")
    case 2:
        print("匹配2")
    case _:
        print("默认")
  1. 函数映射
    • 用法:将条件映射到函数执行复杂逻辑(网页10):
def action_a(): return "处理A"
def action_b(): return "处理B"
switcher = {"A": action_a, "B": action_b}
func = switcher.get(key, lambda: "默认")
func()  # 执行对应函数

三、遍历方法

  1. 遍历序列(列表、元组、字符串)
    for循环:
for item in [1, 2, 3]:
    print(item)

enumerate获取索引:

for index, value in enumerate(["a", "b"]):
    print(f"索引{index}: 值{value}")
  1. 遍历字典
    • 键值对遍历:
person = {"name": "Alice", "age": 25}
for key, value in person.items():
    print(f"{key}: {value}")

• 仅遍历键或值:

for key in person.keys():   # 遍历键
for value in person.values():  # 遍历值
  1. 遍历集合
    • 示例(网页12):
my_set = {1, 2, 3}
for num in my_set:
    print(num)

四、循环控制:breakcontinue

  1. break终止循环
    • 作用:立即退出当前循环。
for num in range(10):
    if num == 5:
        break  # 终止循环
    print(num)  # 输出0-4
  1. continue跳过当前迭代
    • 作用:跳过本次循环剩余代码,进入下一次迭代。
for num in range(10):
    if num % 2 == 0:
        continue  # 跳过偶数
    print(num)  # 输出1,3,5,7,9
  1. 综合应用
    • 过滤数据(网页15):
numbers = [1, 3, -5, 7, -2]
for num in numbers:
    if num < 0:
        continue  # 跳过负数
    print(f"正数:{num}")

五、总结与对比

结构/语句 用途 示例场景 来源
if-else 条件分支判断 用户年龄验证 网页7、8
字典映射替代switch 多条件映射处理 状态码处理 网页9、11
for遍历 迭代序列/集合元素 列表数据逐个处理 网页12、13
break/continue 控制循环流程 提前终止循环或跳过特定项 网页14、15、16

通过灵活组合这些结构,可高效处理逻辑判断、数据遍历与循环控制。具体实现时,建议根据场景选择最简洁的方式(如字典映射替代多分支if-elif)。


网站公告

今日签到

点亮在社区的每一天
去签到