我讓Jose把40個學生的名字逐行打印出來。
他看了我一眼,開始敲鍵盤:print("Amina")。我等他敲到第三個名字才喊停。
![]()
"如果名單有1萬人呢?如果每周都變呢?"這就是教循環的秘訣——不先講概念,先讓人體會沒有循環的痛苦。解藥來的時候,感受完全不同。
Python的for循環干一件事:遍歷集合里的每個元素,逐個處理。我用課堂點名打比方——老師按順序叫名字,標記出勤,一個不落,不提前停,直到名單結束。
代碼只有三行:
students = ["Amina", "Brian", "Njeri", "Kamau", "Wanjiku"]
for student in students:
print(f"Good morning, {student}!")
5個名字,1個循環。名單變成1萬個,代碼不動。Jose刪掉寫了一半的print語句,這種反應是我最愛這堂課的原因。
有時候你沒有現成列表,只想重復執行固定次數。這時候用range():
for i in range(5):
print(f"Attempt {i + 1}")
輸出Attempt 1到5。但這里有個坑——range(5)生成的是0到4,不是1到5。每屆學生都會問同一個問題:為什么?
因為Python像程序員一樣計數:從0開始。range(5)的意思是"給我5個數,從0起",所以是0、1、2、3、4。想要1到5,得明說:range(1, 6)。
還能按步長跳:
for km in range(0, 51, 10):
print(f"Distance covered: {km} km")
0公里、10公里……50公里,像內羅畢的matatu小巴每10公里停一站。
光打印名字不夠,得干點實在的。我們升級成處理數據:
scores = [78, 45, 92, 61, 55, 88, 34, 73]
total = 0
for score in scores:
total = total + score
average = total / len(scores)
求總分、算平均,循環里做的是真正的工作。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.