for-in 循環的語法格式如下:
for 變量 in 字符串|範圍|集合等:
statements
對於上面的語法格式有以下兩點說明:
for-in 循環中的變量的值受 for-in 循環控制,該變量將會在每次循環開始時自動被賦值,因此程序不應該在循環中對該變量賦值。
for-in 循環可用於遍歷任何可選代對象。所謂可叠代對象,就是指該對象中包含壹個 __iter__ 方法,且該方法的返回值對象具有 next() 方法。
for-in 循環可用於遍歷範圍。例如,如下程序使用 for-in 循環來計算指定整數的階乘:
s_max = input("請輸入您想計算的階乘:")
mx = int(s_max)
result = 1
# 使用for-in循環遍歷範圍
for num in range(1, mx + 1):
result *= num
print(result)
上面程序將會根據用戶輸入的數字進行循環。假如用戶輸入 7,此時程序將會構建壹個 range(1,8) 對象(不包含 8),因此 for-in 循環將會自動循環 7 次,在每次循環開始時,num 都會被依次自動賦值為 range 所包含的每個元素。
for-in 循環中的變量完全接受 for-in 循環控制,因此該變量也被稱為循環計數器。