Python编程第六课:循环控制语句 For 与 While 详解,让代码动起来!392
---
哈喽,各位编程小白们,我是你们的老朋友!欢迎来到Python编程的第六课。前几课我们学习了变量、数据类型、条件判断(`if/elif/else`),这些让你的程序能“思考”,根据不同的情况做出选择。但如果有个任务需要重复执行上百次、上千次呢?比如打印1到100的数字,或者对一个班级50个学生的成绩进行处理。手动复制粘贴代码显然不是个好主意,既费时又容易出错。
这时候,就是我们的主角——循环控制语句登场的时候了!循环是编程中最强大的概念之一,它让计算机能够高效地重复执行任务,是实现程序自动化、提升效率的关键。在Python中,我们主要有两种类型的循环:`for` 循环和 `while` 循环。今天,我们就来深入探讨它们的奥秘!
一、For 循环:遍历的艺术
Python 中的 `for` 循环是迭代(Iteration)的利器,它能遍历任何可迭代对象(iterable),比如字符串、列表、元组,甚至是 `range()` 函数生成的数字序列。当你明确知道需要循环的次数,或者需要遍历一个集合中的所有元素时,`for` 循环是你的首选。
1. 基本语法与 `range()` 函数
`for` 循环的基本语法非常简洁:for 变量 in 可迭代对象:
# 循环体代码块
# 每次迭代,变量会依次取可迭代对象中的一个元素
最常见的用法是配合 `range()` 函数生成一个数字序列。`range()` 函数有三种形式:
`range(stop)`:生成从 0 到 `stop-1` 的整数序列。
`range(start, stop)`:生成从 `start` 到 `stop-1` 的整数序列。
`range(start, stop, step)`:生成从 `start` 到 `stop-1`,步长为 `step` 的整数序列。
示例1:打印 0 到 4 的数字print("--- 示例1:使用 range(stop) ---")
for i in range(5):
print(i) # 输出 0, 1, 2, 3, 4
示例2:打印 1 到 5 的数字print("--- 示例2:使用 range(start, stop) ---")
for num in range(1, 6):
print(num) # 输出 1, 2, 3, 4, 5
示例3:打印 0 到 9 的偶数print("--- 示例3:使用 range(start, stop, step) ---")
for even_num in range(0, 10, 2):
print(even_num) # 输出 0, 2, 4, 6, 8
2. 遍历列表、字符串和元组
`for` 循环的强大之处在于它不仅仅能遍历数字,还能轻松处理各种数据结构。
示例4:遍历列表print("--- 示例4:遍历列表 ---")
fruits = ['苹果', '香蕉', '橙子']
for item in fruits:
print(f'我喜欢吃{item}')
# 输出:
# 我喜欢吃苹果
# 我喜欢吃香蕉
# 我喜欢吃橙子
示例5:遍历字符串print("--- 示例5:遍历字符串 ---")
my_string = 'Hello Python!'
for char in my_string:
print(char)
# 输出字符串中的每一个字符,包括空格
3. `break` 和 `continue` 语句:控制循环流程
有时候,我们可能需要更灵活地控制循环的执行。`break` 和 `continue` 语句就是为此而生。
`break`:立即终止当前循环,跳出整个循环体,执行循环后面的代码。
`continue`:终止当前迭代,跳过循环体中 `continue` 后面余下的代码,直接开始下一次迭代。
示例6:使用 `break` 提前退出循环print("--- 示例6:使用 break ---")
for i in range(10):
if i == 5:
print("遇到5了,跳出循环!")
break # 当i等于5时,跳出整个循环
print(i)
# 输出 0, 1, 2, 3, 4,然后是“遇到5了,跳出循环!”
示例7:使用 `continue` 跳过某次迭代print("--- 示例7:使用 continue ---")
for i in range(10):
if i % 2 == 0: # 如果是偶数
continue # 跳过当前循环,执行下一次
print(i) # 只会输出奇数
# 输出 1, 3, 5, 7, 9
二、While 循环:条件驱动的反复执行
与 `for` 循环不同,`while` 循环在条件为真(True)时持续执行代码块,直到条件变为假(False)。当你不知道具体需要循环多少次,但知道循环需要满足某个条件时,`while` 循环是更好的选择。
1. 基本语法
`while` 循环的基本语法如下:while 条件表达式:
# 循环体代码块
# 在循环体内必须有改变条件表达式的语句,否则会陷入无限循环!
核心要点: 循环体内部必须有改变条件表达式的语句,否则条件将永远为真,导致程序陷入无限循环(Infinite Loop),耗尽系统资源。这是初学者最容易犯的错误之一!
示例8:简单的计数器print("--- 示例8:简单的计数器 ---")
count = 0
while count < 5:
print(f'计数:{count}')
count += 1 # 每次循环后增加count,最终让条件 count < 5 变为假
# 输出 0, 1, 2, 3, 4
2. 实际应用:用户输入验证
`while` 循环在需要根据用户输入或其他外部条件反复执行的场景中非常有用,例如密码验证、菜单选择等。
示例9:密码输入验证print("--- 示例9:密码输入验证 ---")
password = '' # 初始化密码为空字符串
while password != '123456': # 只要密码不是'123456',就一直循环
password = input('请输入密码:')
if password != '123456':
print('密码错误,请重新输入!')
print('密码正确,欢迎登录!')
在这个例子中,用户需要正确输入密码才能跳出循环。我们无法预知用户会尝试多少次,所以 `while` 循环是完美的解决方案。
3. `break` 和 `continue` 在 `while` 循环中的应用
`break` 和 `continue` 在 `while` 循环中的作用与 `for` 循环中一致。
示例10:在 `while` 循环中使用 `break`print("--- 示例10:while 循环中使用 break ---")
i = 0
while True: # 这是一个“无限”循环
print(f"当前数字:{i}")
i += 1
if i > 3:
print("达到条件,退出循环!")
break # 当i大于3时,跳出while True这个无限循环
# 输出 0, 1, 2, 3
`while True` 是一种常见的创建无限循环的方式,通常会配合 `if` 和 `break` 语句来控制循环的退出时机。
三、`for` vs. `while`:何时选择?
那么,`for` 和 `while` 循环什么时候用哪个呢?其实它们在很多情况下可以互相转换,但各有侧重:
选择 `for` 循环:
当你明确知道循环的次数,或者需要遍历一个已知长度的序列(如列表、字符串、元组、`range()` 对象)中的所有元素时。
它更简洁、更安全,因为它自动处理了迭代的终止条件。
选择 `while` 循环:
当你循环的次数不确定,需要根据某个条件反复执行,直到条件不满足时停止。
例如,等待用户输入直到满足特定条件,或者根据传感器数据持续执行某个操作。
它更灵活,但需要程序员手动管理循环条件,以防无限循环。
四、总结与实践
恭喜你,今天我们解锁了 Python 编程中两大核心利器——`for` 循环和 `while` 循环!它们让你的程序从“手动操作”升级到“自动化生产”,极大地提高了代码的效率和可读性。
掌握循环是成为一名合格程序员的必经之路。理解它们的工作原理,以及 `break` 和 `continue` 如何控制循环流程,对你未来的编程学习至关重要。
温馨提示: 练习是最好的老师!尝试用今天学到的循环知识解决一些实际问题:
计算1到100所有整数的和。
从一个列表中找出最大的数字。
编写一个程序,让用户猜一个数字,直到猜对为止。
下节课我们将探索函数的世界,让你的代码模块化、更易管理。敬请期待!如果你有任何疑问,或者想分享你的练习成果,欢迎在评论区留言交流哦!
2025-10-21

亲爱的爸爸,这是我们的专属回忆墙!
https://jb123.cn/python/70259.html

JavaScript /d/ 深度探索:突破认知边界,成为JS高手
https://jb123.cn/javascript/70258.html
![JavaScript DOM操作核心:从[javascript:nextpic]解析前端交互式图片切换与轮播实现](https://cdn.shapao.cn/images/text.png)
JavaScript DOM操作核心:从[javascript:nextpic]解析前端交互式图片切换与轮播实现
https://jb123.cn/javascript/70257.html

告别Flash卡顿:ActionScript性能优化、内存管理与代码规范实践指南
https://jb123.cn/jiaobenyuyan/70256.html

JavaScript前端数据持久化全攻略:从Cookie、LocalStorage到IndexedDB
https://jb123.cn/javascript/70255.html
热门文章

Python 编程解密:从谜团到清晰
https://jb123.cn/python/24279.html

Python编程深圳:初学者入门指南
https://jb123.cn/python/24225.html

Python 编程终端:让开发者畅所欲为的指令中心
https://jb123.cn/python/22225.html

Python 编程专业指南:踏上编程之路的全面指南
https://jb123.cn/python/20671.html

Python 面向对象编程学习宝典,PDF 免费下载
https://jb123.cn/python/3929.html