Python - 迴圈:您的效率編程之門

你好,充滿朝氣的程式設計師們!今天,我們將深入探討 Python 中最強大的概念之一:迴圈。作為您親切友善的電腦科學老師,我非常高興能引導你們進行這次學習之旅。相信我,一旦你們掌握了迴圈,你們會感覺到自己似乎在編程中解鎖了一項超能力!

Python - Loops

什麼是迴圈,為什麼我們需要它們?

想象一下,你被指派撰寫一個程序來打印 "Hello, World!" 100次。如果沒有迴圈,你將不得不重複寫同一行程式碼100次!這不僅是繁瑣的,而且也是效率低下的。在這個時候,迴圈就成為了救星。

迴圈允許我們重複執行一塊程式碼。它們就像你程式碼中的旋轉木馬,不斷旋轉直到滿足某個條件為止。

迴圈的流程圖

在我們深入代碼之前,讓我們先視覺化一下迴圈是如何工作的:

[開始]
|
v
[初始化計數器]
|
v
[檢查條件]
|
[True] [False]
|      |
v      v
[執行代碼] [退出迴圈]
|
v
[更新計數器]
|
'--------^

這個流程圖代表了大多數迴圈的基本結構。我們從設置一個計數器開始,檢查一個條件,如果條件為真則執行一些代碼,然後更新我們的計數器,並再次檢查條件。這個循環會繼續進行,直到條件變為假。

Python中的迴圈類型

Python為我們提供了兩種主要類型的迴圈:for 迴圈和 while 迴圈。讓我們一起探索每一種,並通過一些有趣的例子來了解它們!

1. For 迴圈

當我們事先知道要執行一塊程式碼多少次時,就會使用 for 迴圈。這就像告訴你的程式碼,“做這件事X次。”

基本語法:

for 項目 in 序列:
# 要執行的代碼

示例 1:數羊

for 羊 in range(5):
print(f"數到羊的數字 {羊 + 1}")

# 輸出:
# 數到羊的數字 1
# 數到羊的數字 2
# 數到羊的數字 3
# 數到羊的數字 4
# 數到羊的數字 5

在這個例子中,我們使用 for 迴圈來數羊。range(5) 函數創建了一個從0到4的數字序列,我們的迴圈對每一個數字進行迭代。我們在列印時將1加到 上,因為 range(5) 從0開始,但我們想從1開始數。

示例 2:迭代列表

水果 = ["蘋果", "香蕉", "櫻桃"]
for 水果 in 水果:
print(f"我喜歡吃 {水果}!")

# 輸出:
# 我喜歡吃 蘋果!
# 我喜歡吃 香蕉!
# 我喜歡吃 櫻桃!

在這裡,我們對水果列表進行迭代。對於列表中的每個水果,我們都列印一個關於喜歡吃那種水果的聲明。注意Python如何自動將列表中的每個項目分配給每次迭代的變量 水果

2. While 迴圈

當我們想要在某一條件為真的情況下重複執行一塊程式碼時,就會使用 while 迴圈。這就像說,“繼續做這個,直到我告訴你停止。”

基本語法:

while 條件:
# 要執行的代碼

示例 3:不耐煩的服務員

訂單準備好 = False
等待時間 = 0

while not 訂單準備好:
等待時間 += 1
print(f"等待 {等待時間} 分鐘...")
if 等待時間 >= 5:
訂單準備好 = True

print("訂單準備好了!")

# 輸出:
# 等待 1 分鐘...
# 等待 2 分鐘...
# 等待 3 分鐘...
# 等待 4 分鐘...
# 等待 5 分鐘...
# 訂單準備好了!

在這個例子中,我們模擬在餐廳等待訂單。迴圈在 訂單準備好False 的情況下繼續進行。每次迭代都將 等待時間 增加1分鐘。等我們等待了5分鐘後,我們將 訂單準備好 設為 True,從而結束迴圈。

Python 迴圈控制語句

有時候,我們需要對我們的迴圈有更多的控制。Python為我們提供了三個迴圈控制語句:

語句 描述
break 提前退出迴圈
continue 跳過當前迭代的剩餘部分,並移至下一個迭代
pass 什麼也不做,作為佔位符

讓我們看看它們是如何工作的!

示例 4:打破壞習慣

壞習慣 = ["拖延", "睡过头", "垃圾食品", "太多電視"]
改正好习惯天數 = 0

for 習慣 in 壞習慣:
if 習慣 == "垃圾食品":
print(f"我無法抗拒 {習慣}!打破連勝。")
break
改正好习惯天數 += 1
print(f"我已經避免了 {習慣} {改正好习惯天數} 天!")

print(f"總共有良好習慣的天數:{改正好习惯天數}")

# 輸出:
# 我已經避免了 拖延 1 天!
# 我已經避免了 睡过头 2 天!
# 我無法抗拒 垃圾食品!打破連勝。
# 總共有良好習慣的天數:2

在這個例子中,我們使用 break 語句在遇到 "垃圾食品" 時退出迴圈,這模擬了打破良好習慣的連勝。

示例 5:跳過蔬菜

食物 = ["比萨", "西兰花", "漢堡", "菠菜", "冰淇淋"]

print("媽媽說我必須把盤子裡的東西都吃掉,但是...")
for 食物 in 食物:
if 食物 in ["西兰花", "菠菜"]:
print(f"哎呀!我不小心把 {食物} 掉在地上了!")
continue
print(f"好吃!我正在吃 {食物}!")

# 輸出:
# 媽媽說我必須把盤子裡的東西都吃掉,但是...
# 好吃!我正在吃 比萨!
# 哎呀!我不小心把 西兰花 掉在地上了!
# 好吃!我正在吃 漢堡!
# 哎呀!我不小心把 菠菜 掉在地上了!
# 好吃!我正在吃 冰淇淋!

在這裡,我們使用 continue 跳過食物列表中的蔬菜。當我們遇到西兰花或菠菜時,我們列印一個藉口,然後繼續下一個迭代。

結論

恭喜!你們在Python學習之旅中通過掌握迴圈邁出了重要的一步。請記住,熟練才能精湛,所以不要猶豫去嘗試這些概念。試著創建自己的迴圈,混合和匹配不同的類型,看看你能創造出什麼。

迴圈就像歌曲中的節奏一樣 - 它們讓你的程式碼保持運行和節奏。所以,請繼續編程,繼續使用迴圈,最重要的是,繼續享受其中的樂趣!

快樂編程,未來的Python大師們!

Credits: Image by storyset