位置:首頁 > 腳本語言 > Python教學 > Python for循環語句

Python for循環語句

for循環在Python中有遍曆所有序列的項目,如列表或一個字符串。

語法:

for循環語法如下:

for iterating_var in sequence:
   statements(s)

如果一個序列包含一個表達式列表,計算第一個。然後,在序列中的第一項被分配給迭代變量iterating_var。接著,語句塊被執行。列表中的每個項目分配給iterating_var,並且statement塊被執行,直到整個序列完成(到尾部)。

流程圖:

for loop in Python

例子:

#!/usr/bin/python

for letter in 'Python':     # First Example
   print 'Current Letter :', letter

fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # Second Example
   print 'Current fruit :', fruit

print "Good bye!"

當執行上麵的代碼,產生以下結果:

Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : h
Current Letter : o
Current Letter : n
Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!

通過遍曆序列索引:

通過每個項目進行迭代的一種替代方法是:通過索引偏移量序列本身。下麵是一個簡單的例子:

#!/usr/bin/python

fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
   print 'Current fruit :', fruits[index]

print "Good bye!"

當執行上麵的代碼,產生以下結果:

Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!

在這裡,我們采用內置函數len(),它計算元組元素的總數量以及range()內置函數給我們的實際遍曆順序。

循環使用else語句

Python支持與循環語句相關聯的else語句。

  • 如果else語句與for循環使用,執行else語句時,循環已經迭代完成列表。

  • 如果在else語句使用while循環,當條件為假時,else語句被執行。

下麵的例子演示了一個else語句,語句搜索素數從10到20的組合。

#!/usr/bin/python

for num in range(10,20):  #to iterate between 10 to 20
   for i in range(2,num): #to iterate on the factors of the number
      if num%i == 0:      #to determine the first factor
         j=num/i          #to calculate the second factor
         print '%d equals %d * %d' % (num,i,j)
         break #to move to the next number, the #first FOR
   else:                  # else part of the loop
      print num, 'is a prime number'

當執行上麵的代碼,產生以下結果:

10 equals 2 * 5
11 is a prime number
12 equals 2 * 6
13 is a prime number
14 equals 2 * 7
15 equals 3 * 5
16 equals 2 * 8
17 is a prime number
18 equals 2 * 9
19 is a prime number