學會 Python 循環結構增強編程實力
在編程中,循環結構是處理重復任務的核心工具。Python提供了多種循環結構,如for循環和while循環,它們可以幫助我們高效地處理數據、自動化任務以及簡化代碼邏輯。今天,我們將從基礎到高級,逐步探索Python中的循環結構,并通過實際代碼示例來加深理解。
1. 基礎循環:for循環
for循環是Python中最常用的循環結構之一。它通常用于遍歷序列(如列表、元組、字符串等)中的每個元素。
# 示例1:遍歷列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
輸出結果:
apple
banana
cherry
代碼解釋:
- fruits是一個包含三個元素的列表。
- for fruit in fruits: 表示遍歷fruits列表中的每個元素,并將當前元素賦值給變量fruit。
- print(fruit) 打印當前元素。
2. 使用range()函數
range()函數常用于生成一系列數字,通常與for循環結合使用。
# 示例2:使用range()生成數字序列
for i in range(5):
print(i)
輸出結果:
0
1
2
3
4
代碼解釋:
- range(5)生成一個從0到4的數字序列。
- for i in range(5): 遍歷這個序列,并將當前數字賦值給變量i。
- print(i) 打印當前數字。
3. while循環
while循環在條件為True時重復執行代碼塊,直到條件變為False。
# 示例3:使用while循環
count = 0
while count < 5:
print(count)
count += 1
輸出結果:
0
1
2
3
4
代碼解釋:
- count初始值為0。
- while count < 5: 表示只要count小于5,就繼續執行循環。
- print(count) 打印當前count的值。
- count += 1 每次循環后將count加1。
4. 循環控制:break和continue
break用于立即退出循環,而continue用于跳過當前迭代,繼續下一次循環。
# 示例4:使用break和continue
for i in range(10):
if i == 3:
continue # 跳過3
if i == 7:
break # 退出循環
print(i)
輸出結果:
0
1
2
4
5
6
代碼解釋:
- if i == 3: 當i等于3時,continue跳過當前迭代,不執行print(i)。
- if i == 7: 當i等于7時,break退出循環。
5. 嵌套循環
嵌套循環是指在一個循環內部包含另一個循環。這在處理多維數據時非常有用。
# 示例5:嵌套循環
for i in range(3):
for j in range(2):
print(f"i={i}, j={j}")
輸出結果:
i=0, j=0
i=0, j=1
i=1, j=0
i=1, j=1
i=2, j=0
i=2, j=1
代碼解釋:
- 外層循環for i in range(3): 遍歷0到2。
- 內層循環for j in range(2): 遍歷0到1。
- print(f"i={i}, j={j}") 打印當前i和j的值。
6. 列表推導式
列表推導式是一種簡潔的創建列表的方式,通常結合for循環使用。
# 示例6:列表推導式
squares = [x**2 for x in range(5)]
print(squares)
輸出結果:
[0, 1, 4, 9, 16]
代碼解釋:
[x**2 for x in range(5)] 生成一個列表,其中每個元素是x的平方,x從0到4。
7. 實戰案例:模擬購物車結算
假設我們有一個購物車,里面包含多個商品及其價格。我們需要計算總價,并找出價格最高的商品。
# 實戰案例:購物車結算
cart = [
{"name": "apple", "price": 1.2},
{"name": "banana", "price": 0.8},
{"name": "cherry", "price": 2.5},
{"name": "orange", "price": 1.5}
]
total_price = 0
max_price_item = None
for item in cart:
total_price += item["price"]
if max_price_item is None or item["price"] > max_price_item["price"]:
max_price_item = item
print(f"總價: {total_price}")
print(f"最貴的商品: {max_price_item['name']}, 價格: {max_price_item['price']}")
輸出結果:
總價: 6.0
最貴的商品: cherry, 價格: 2.5
代碼解釋:
- cart是一個包含多個字典的列表,每個字典表示一個商品及其價格。
- total_price用于累加所有商品的價格。
- max_price_item用于記錄當前價格最高的商品。
- for item in cart: 遍歷購物車中的每個商品。
- total_price += item["price"] 累加商品價格。
- if max_price_item is None or item["price"] > max_price_item["price"]: 更新最貴商品。
- 最后打印總價和最貴商品的信息。
總結
本文詳細介紹了Python中的循環結構,包括for循環、while循環、循環控制語句(break和continue)、嵌套循環以及列表推導式。通過多個代碼示例,我們展示了這些概念的實際應用。最后,我們通過一個購物車結算的實戰案例,綜合運用了這些知識,展示了循環結構在實際編程中的強大功能。