news 2026/4/18 15:30:52

Python全栈入门到实战【基础篇 14】循环结构:for/while循环 + 循环控制(break/continue)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python全栈入门到实战【基础篇 14】循环结构:for/while循环 + 循环控制(break/continue)

前言

哈喽各位小伙伴!前面咱们学了字典、集合这些复合数据类型,也掌握了if-elif-else的分支逻辑——但实际开发中,很多场景需要“重复执行一段代码”:

  • 批量处理列表里的100个用户数据,逐个验证手机号格式;
  • 爬虫循环爬取10页网页数据,直到爬完所有页数;
  • 定时检查文件是否存在,直到文件生成后停止;
  • 遍历字典的所有键值对,批量更新数据。

这些“重复执行逻辑”的需求,靠的就是Python的循环结构——核心是for循环(遍历可迭代对象)和while循环(条件满足则循环),再配合break/continue控制循环流程,就能让程序自动化完成重复任务,告别“复制粘贴代码”的低效操作。

这节咱们吃透循环的核心用法:

  • for循环:遍历列表/字典/字符串/范围,enumerate获取索引+元素;
  • while循环:条件循环、死循环+终止条件;
  • 循环控制:break(终止循环)、continue(跳过当前迭代);
  • 嵌套循环:循环里套循环(如二维列表遍历、九九乘法表);
  • 循环避坑:死循环、for循环修改原序列、while循环条件永不满足。

吃透循环,你就能让程序“自动化干活”,处理批量数据、重复任务再也不用手动操作~

文章目录

  • 前言
  • 一、前置引入:为什么需要循环?
  • 二、for循环:遍历可迭代对象的“遍历神器”
    • 1. for循环基础语法
      • 核心规则
    • 2. for循环的常见遍历场景
      • 场景1:遍历列表/元组(最常用)
      • 场景2:遍历字符串(按字符遍历)
      • 场景3:遍历字典(键/值/键值对)
      • 场景4:range()生成数字序列遍历
      • 场景5:enumerate()获取索引+元素
    • 3. for循环的else分支(可选)
  • 三、while循环:条件满足就循环的“条件神器”
    • 1. while循环基础语法
      • 核心规则
    • 2. while循环的常见场景
      • 场景1:基础条件循环(已知终止条件)
      • 场景2:死循环+break终止(未知循环次数)
      • 场景3:while...else分支
    • 3. for vs while:怎么选?
  • 四、循环控制:break/continue 精准控制流程
    • 1. break:终止整个循环
    • 2. continue:跳过当前迭代
    • 3. 循环控制的注意事项
  • 五、嵌套循环:循环里套循环
    • 1. 嵌套循环基础语法
    • 2. 示例1:遍历二维列表
    • 3. 示例2:打印九九乘法表(经典嵌套循环)
  • 六、循环的核心避坑要点
    • 坑1:死循环(最常见)
    • 坑2:for循环遍历列表时修改原列表
    • 坑3:while循环条件永不满足
    • 坑4:缩进错误
  • 七、实战案例:批量验证手机号格式
  • 八、总结
  • 九、专栏订阅

一、前置引入:为什么需要循环?

没有循环的话,重复执行代码只能靠“复制粘贴”——比如验证3个手机号要写3次判断代码,验证100个就要写100次,代码冗余、维护困难,还容易出错。

循环的核心价值是:用固定代码处理任意数量的重复任务。不管是处理10个还是1000个数据,只要写一次核心逻辑,循环就能自动重复执行,既简洁又高效。

Python的循环分两类,适用场景清晰:

  • for循环:适合已知循环次数的场景(比如遍历10个元素的列表、生成1-100的数字);
  • while循环:适合未知循环次数的场景(比如等待用户输入正确指令、直到文件生成才停止)。

二、for循环:遍历可迭代对象的“遍历神器”

for循环是Python中最常用的循环,核心是“遍历可迭代对象”(列表、字典、字符串、range、文件等),按顺序取出每个元素执行逻辑。

1. for循环基础语法

for变量名in可迭代对象:
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:41:41

工业级语音处理神器!A-59U 双通道多模模块技术解析 + 应用指南

在音频通话、智能交互、安防监控等场景中,回音、噪音干扰、拾音范围受限一直是行业痛点。而 A-59U 作为一款集成 USB 功能的工业级双通道多模语音处理模块,凭借超强消回音、AI 降噪、双波束拾音等核心能力,完美解决了这些问题。本文将从产品特…

作者头像 李华
网站建设 2026/4/18 7:50:48

基于OFDR的分布式光纤传感器在混凝土长期变形监测中的应用

一、概述传统应变片、便携式应变仪及收缩比对仪等监测技术存在易受环境干扰、数据波动性大、无法捕捉全场应变分布等局限,难以实现超高强海砂混凝土长期蠕变与收缩的精准监测。为此本研究采用基于光频域反射(OFDR)技术的分布式光纤传感器&…

作者头像 李华
网站建设 2026/4/18 8:55:43

【前缀和+哈希】LCR 010. 和为 K 的子数组

求解代码 public int subarraySum(int[] nums, int k) {// 哈希表&#xff1a;key前缀和&#xff0c;value该前缀和出现的次数HashMap<Integer, Integer> map new HashMap<>();int sum 0; // 记录当前遍历到的前缀和int ans 0;// 初始化前缀和为0的情况出现了1次…

作者头像 李华
网站建设 2026/4/18 8:53:20

IIS 10.0

本案例选用腾讯云windows server系统 【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中 https://curl.qcloud.com/tjr94zaU IIS 10.0 运行在 Windows Server 2016、2022、2025&#xff08;及 Windows 10/11&#xff09;上的 IIS10虽然大版本号一致,但其实是…

作者头像 李华
网站建设 2026/4/18 8:53:36

Java栈帧揭秘:JIT如何将字节码映射到机器码

Java 方法栈帧深度解析&#xff1a;从 JIT 汇编视角打通 C 与 Java 底层逻辑1. 栈帧基础结构在 Java 虚拟机&#xff08;JVM&#xff09;中&#xff0c;每个方法调用会创建一个栈帧&#xff08;Stack Frame&#xff09;&#xff0c;存储于 Java 栈中。栈帧包含&#xff1a;局部…

作者头像 李华
网站建设 2026/4/18 12:51:04

2026美赛A题:智能手机电池消耗建模思路与代码

2026美赛A题:智能手机电池消耗建模思路与代码 一、问题分析与建模思路 1.1 核心问题理解 智能手机电池消耗是一个复杂的动态过程,涉及: 硬件组件:CPU、GPU、屏幕、通信模块等 软件因素:应用使用模式、后台进程、系统优化 环境因素:信号强度、温度、网络类型 用户行为:…

作者头像 李华