Python for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串。
語(yǔ)法:
for循環(huán)的語(yǔ)法格式如下:
for iterating_var in sequence:
statements(s)
statements(s)
流程圖:

實(shí)例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for letter in 'Python': # 第一個(gè)實(shí)例
print '當(dāng)前字母 :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二個(gè)實(shí)例
print '當(dāng)前字母 :', fruit
# -*- coding: UTF-8 -*-
for letter in 'Python': # 第一個(gè)實(shí)例
print '當(dāng)前字母 :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二個(gè)實(shí)例
print '當(dāng)前字母 :', fruit
print "Good bye!"
嘗試一下 ?
以上實(shí)例輸出結(jié)果:
當(dāng)前字母 : P
當(dāng)前字母 : y
當(dāng)前字母 : t
當(dāng)前字母 : h
當(dāng)前字母 : o
當(dāng)前字母 : n
當(dāng)前字母 : banana
當(dāng)前字母 : apple
當(dāng)前字母 : mango
Good bye!
當(dāng)前字母 : y
當(dāng)前字母 : t
當(dāng)前字母 : h
當(dāng)前字母 : o
當(dāng)前字母 : n
當(dāng)前字母 : banana
當(dāng)前字母 : apple
當(dāng)前字母 : mango
Good bye!
通過(guò)序列索引迭代
另外一種執(zhí)行循環(huán)的遍歷方式是通過(guò)索引,如下實(shí)例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print '當(dāng)前水果 :', fruits[index]
print "Good bye!"
# -*- coding: UTF-8 -*-
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print '當(dāng)前水果 :', fruits[index]
print "Good bye!"
以上實(shí)例輸出結(jié)果:
當(dāng)前水果 : banana
當(dāng)前水果 : apple
當(dāng)前水果 : mango
Good bye!
當(dāng)前水果 : apple
當(dāng)前水果 : mango
Good bye!
以上實(shí)例我們使用了內(nèi)置函數(shù) len() 和 range(),函數(shù) len() 返回列表的長(zhǎng)度,即元素的個(gè)數(shù)。 range返回一個(gè)序列的數(shù)。
循環(huán)使用 else 語(yǔ)句
在 python 中,for … else 表示這樣的意思,for 中的語(yǔ)句和普通的沒(méi)有區(qū)別,else 中的語(yǔ)句會(huì)在循環(huán)正常執(zhí)行完(即 for 不是通過(guò) break 跳出而中斷的)的情況下執(zhí)行,while … else 也是一樣。
如下實(shí)例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for num in range(10,20): # 迭代 10 到 20 之間的數(shù)字
for i in range(2,num): # 根據(jù)因子迭代
if num%i == 0: # 確定第一個(gè)因子
j=num/i # 計(jì)算第二個(gè)因子
print '%d 等于 %d * %d' % (num,i,j)
break # 跳出當(dāng)前循環(huán)
else: # 循環(huán)的 else 部分
print num, '是一個(gè)質(zhì)數(shù)'
# -*- coding: UTF-8 -*-
for num in range(10,20): # 迭代 10 到 20 之間的數(shù)字
for i in range(2,num): # 根據(jù)因子迭代
if num%i == 0: # 確定第一個(gè)因子
j=num/i # 計(jì)算第二個(gè)因子
print '%d 等于 %d * %d' % (num,i,j)
break # 跳出當(dāng)前循環(huán)
else: # 循環(huán)的 else 部分
print num, '是一個(gè)質(zhì)數(shù)'
以上實(shí)例輸出結(jié)果:
10 等于 2 * 5
11 是一個(gè)質(zhì)數(shù)
12 等于 2 * 6
13 是一個(gè)質(zhì)數(shù)
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一個(gè)質(zhì)數(shù)
18 等于 2 * 9
11 是一個(gè)質(zhì)數(shù)
12 等于 2 * 6
13 是一個(gè)質(zhì)數(shù)
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一個(gè)質(zhì)數(shù)
18 等于 2 * 9
19 是一個(gè)質(zhì)數(shù)
嘗試一下 ?