Python - 迴圈:您的效率編程之門
你好,充滿朝氣的程式設計師們!今天,我們將深入探討 Python 中最強大的概念之一:迴圈。作為您親切友善的電腦科學老師,我非常高興能引導你們進行這次學習之旅。相信我,一旦你們掌握了迴圈,你們會感覺到自己似乎在編程中解鎖了一項超能力!
什麼是迴圈,為什麼我們需要它們?
想象一下,你被指派撰寫一個程序來打印 "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