当前位置: 首页 > java >正文

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

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)。

http://www.xdnf.cn/news/5745.html

相关文章:

  • 015枚举之滑动窗口——算法备赛
  • 纽约时报发稿刊登案例:海外新闻媒体宣传如何赢得美国决策者
  • 每日一题——樱桃分级优化问题:最小化标准差的动态规划与DFS解决方案
  • 物理:海市蜃楼是宇宙背景辐射吗?
  • 【速写】use_cache参数与decode再探讨
  • 计算机网络笔记(二十四)——4.6互联网的路由选择协议
  • 基于STM32、HAL库的BMP390L气压传感器 驱动程序设计
  • Costmap代价地图
  • IOT藍牙探測 C2 架構:社會工程/節點分離防追尋
  • 2.1 微积分基本想法
  • ABP-Book Store Application中文讲解 - Part 2: The Book List Page - TBD
  • 案例-流量统计
  • 网格图之bfs
  • 水平翻转 垂直翻转 颜色处理
  • 二、HAL库的命名规则详解
  • 【Python】Python 单例模式 8 大核心应用场景深度解析(2025 新版)
  • 前端vue+elementplus实现上传通用组件
  • 非结构化数据的智能化蜕变:从混沌到知识的进化之路
  • Python教程(四)参数提取pymysql
  • 直方图详解
  • Python | Dashboard制作 【待续】
  • 1.3.3 tinyalsa详细介绍
  • 14.three官方示例+编辑器+AI快速学习webgl_buffergeometry_instancing_interleaved
  • 【语法】C++的多态
  • 专题二:二叉树的深度优先搜索
  • AI+Java开发项目——石头迷阵游戏
  • M0基础篇之DAC
  • LAN-402 全国产信号采集处理模块K7-325T(4通道采集)
  • LC滤波器与电感、电容的区别:技术分析与应用
  • springboot做junit单元测试详细步骤