Python - 循环:高效编程的门户
你好,有抱负的程序员们!今天,我们将深入探讨 Python 中最强大的概念之一:循环。作为你友好的计算机科学老师,我很兴奋能引导你完成这次学习之旅。相信我,一旦你掌握了循环,你会感觉自己仿佛在编码中解锁了超能力!
什么是循环,我们为什么需要它们?
想象一下,你被分配编写一个程序,打印 "Hello, World!" 100 次。如果没有循环,你就必须写100次相同的代码!这不仅仅是单调乏味,而且效率低下。这时,循环就来拯救我们了。
循环允许我们重复执行一个代码块。它们就像你代码中的旋转木马,不停地旋转,直到满足某个条件。
循环流程图
在我们深入代码之前,先来可视化一下循环是如何工作的:
[开始]
|
v
[初始化计数器]
|
v
[检查条件]
|
[True] [False]
| |
v v
[执行代码] [退出循环]
|
v
[更新计数器]
|
'--------^
这个流程图代表了大多数循环的基本结构。我们首先设置一个计数器,检查一个条件,如果条件为真则执行一些代码,更新我们的计数器,然后再次检查条件。这个循环继续进行,直到条件变为假。
Python 中的循环类型
Python 为我们提供了两种主要的循环类型:for
循环和 while
循环。让我们通过一些有趣的例子来探索它们!
1. For 循环
当我们提前知道要执行代码块多少次时,使用 for
循环。这就像告诉你的代码,“做这件事X次。”
基本语法:
for item in sequence:
# 要执行的代码
示例 1:数羊
for sheep in range(5):
print(f"正在数第 {sheep + 1} 只羊")
# 输出:
# 正在数第 1 只羊
# 正在数第 2 只羊
# 正在数第 3 只羊
# 正在数第 4 只羊
# 正在数第 5 只羊
在这个例子中,我们使用 for
循环来数羊。range(5)
函数创建一个从0到4的数字序列,我们的循环遍历这些数字。我们在打印时给 sheep
加1,因为 range(5)
从0开始,但我们想从1开始数。
示例 2:遍历列表
fruits = ["苹果", "香蕉", "樱桃"]
for fruit in fruits:
print(f"我喜欢吃 {fruit}!")
# 输出:
# 我喜欢吃 苹果!
# 我喜欢吃 香蕉!
# 我喜欢吃 樱桃!
在这里,我们遍历一个水果列表。对于列表中的每个水果,我们打印一个关于喜欢食用该水果的声明。注意 Python 如何在每次迭代中自动将列表中的每个项目分配给变量 fruit
。
2. While 循环
当我们想在一个条件为真的情况下重复执行一个代码块时,使用 while
循环。这就像说,“继续这样做,直到我告诉你停止。”
基本语法:
while condition:
# 要执行的代码
示例 3:不耐烦的服务员
order_ready = False
waiting_time = 0
while not order_ready:
waiting_time += 1
print(f"已经等待 {waiting_time} 分钟...")
if waiting_time >= 5:
order_ready = True
print("订单准备好了!")
# 输出:
# 已经等待 1 分钟...
# 已经等待 2 分钟...
# 已经等待 3 分钟...
# 已经等待 4 分钟...
# 已经等待 5 分钟...
# 订单准备好了!
在这个例子中,我们模拟在餐厅等待订单。只要 order_ready
为 False
,循环就会继续。每次迭代都会增加 waiting_time
1分钟。一旦我们等待了5分钟,我们将 order_ready
设置为 True
,从而结束循环。
Python 循环控制语句
有时,我们需要对循环有更多的控制。Python 为我们提供了三个循环控制语句:
语句 | 描述 |
---|---|
break |
提前退出循环 |
continue |
跳过当前迭代的剩余部分,进入下一次迭代 |
pass |
不做任何事,作为占位符 |
让我们看看这些是如何工作的!
示例 4:改掉坏习惯
bad_habits = ["拖延", "赖床", "垃圾食品", "看太多电视"]
days_clean = 0
for habit in bad_habits:
if habit == "垃圾食品":
print(f"我无法抗拒 {habit}!打破纪录。")
break
days_clean += 1
print(f"我已经避免了 {habit} {days_clean} 天!")
print(f"保持好习惯的总天数:{days_clean}")
# 输出:
# 我已经避免了 拖延 1 天!
# 我已经避免了 赖床 2 天!
# 我无法抗拒 垃圾食品!打破纪录。
# 保持好习惯的总天数:2
在这个例子中,我们使用 break
语句在遇到 "垃圾食品" 时退出循环,这模拟了打破一系列好习惯的纪录。
示例 5:跳过蔬菜
foods = ["披萨", "西兰花", "汉堡", "菠菜", "冰淇淋"]
print("妈妈说我必须吃完盘子里的所有东西,但是...")
for food in foods:
if food in ["西兰花", "菠菜"]:
print(f"哎呀!我不小心把 {food} 弄掉在地上了!")
continue
print(f"好吃!我正在吃 {food}!")
# 输出:
# 妈妈说我必须吃完盘子里的所有东西,但是...
# 好吃!我正在吃 披萨!
# 哎呀!我不小心把 西兰花 弄掉在地上了!
# 好吃!我正在吃 汉堡!
# 哎呀!我不小心把 菠菜 弄掉在地上了!
# 好吃!我正在吃 冰淇淋!
在这里,我们使用 continue
跳过食物列表中的蔬菜。当我们遇到西兰花或菠菜时,我们打印一个借口,然后继续下一次迭代。
结论
恭喜你!你已经在 Python 学习之旅中迈出了巨大的一步,掌握了循环。记住,熟能生巧,所以不要犹豫,尝试这些概念。尝试创建自己的循环,混合和匹配不同的类型,看看你能创造出什么。
循环就像歌曲中的节拍——它们让你的代码保持运动和节奏。所以继续编码,继续循环,最重要的是,继续享受乐趣!
祝编码愉快,未来的 Python 大师们!
Credits: Image by storyset