Pythonループ文forとwhile

8006 ワード

Pythonはforサイクルとwhileサイクルを提供しています
1、whileループPythonプログラミングでは、while文はループ実行プログラムに使用されます.すなわち、ある条件下で、繰り返し処理する必要がある同じタスクを処理するために、あるセグメントプログラムをループ実行します.基本形式は次のとおりです.
while     :
        ……

実行文は、単一の文または文ブロックであってもよい.判断条件は、任意の式、任意のゼロ以外、またはnull以外の値はtrueです.判定条件がfalseである場合、ループは終了します.while文には、ループをスキップするためにbreakが使用する他の2つの重要なコマンドcontinueがあります.breakはループをスキップするために使用され、breakはループを終了するために使用されます.また、「判定条件」は、ループが必ず成立することを示す定数値でもあります.具体的な使い方は以下の通りです.
# continue   break   

i = 1
#            ,     
#           , :     
while i < 10:   
    i += 1
    if i%2 > 0:     #         
        continue
    print i         #     2、4、6、8、10

i = 1
while 1:            #      1    
    print i         #   1~10
    i += 1
    if i > 10:     #  i  10     
        break

while...else...文:pythonでfor...elseはこのような意味を表し、forの中の文は普通の文と変わらず、elseの中の文はループが正常に実行される(すなわちforはbreakジャンプで中断されるのではない)場合に実行され、while...elseも同じである.
#!/usr/bin/python

count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
#          break     ,  else     
else:
   print count, " is not less than 5"

以上の例の出力結果は、0 is less than 5 1 is less than 5 2 is less than 5 3 is less than 5 4 is less than 5 is not less than 5
2、forループPython forループは、リストや文字列などの任意のシーケンスのアイテムを巡回することができます.構文:forループの構文フォーマットは次のとおりです.
'''
for     ,in    ,     
for                 
                          
'''
for iterating_var in sequence:
   statements(s)

例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

for letter in 'Python':     #      
   print '     :', letter

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

print "Good bye!"
        :
     : P
     : y
     : t
     : h
     : o
     : n
     : banana
     : apple
     : mango
Good bye!

≪シーケンス・インデックスによる反復|Repeat Sequence Index|emdw≫:ループを実行する別の方法は、次の例のようにインデックスによるものです.
#!/usr/bin/python
# -*- coding: UTF-8 -*-

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

print "Good bye!"

上記の例は、結果を出力します.
     : banana
     : apple
     : mango
Good bye!

上記の例では、組み込み関数len()とrange()を使用し、関数len()はリストの長さ、すなわち要素の個数を返します.rangeはシーケンスの数を返します.
range()メソッドの詳細:例:

>>> range(1,5) #   1 5(   5)
[1, 2, 3, 4]
>>> range(1,5,2) #   1 5,  2(   5)
[1, 3]
>>> range(5) #   0 5(   5)
[0, 1, 2, 3, 4]

for...else...文:pythonでfor...elseはこのような意味を表し、forの中の文は普通の文と変わらず、elseの中の文はループが正常に実行される(すなわち、forはbreakジャンプで中断されるのではない)場合に実行され、while...elseも同じです.次の例のように:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

for num in range(10,20):  #    10   20      
   for i in range(2,num): #       
      if num%i == 0:      #        
         j=num/i          #        
         print '%d    %d * %d' % (num,i,j)
         break            #       
   else:                  #     else   
      print num, '     '

上記の例は、結果を出力します.
10    2 * 5
11      
12    2 * 6
13      
14    2 * 7
15    3 * 5
16    2 * 8
17      
18    2 * 9
19