【Python】 繰り返し構造 for文 & while文

繰り返し構造
forwhile 文の取り扱い方を説明します。
決められた回数、一連の処理を行う構造    for 文​         
    
for 文とは回数分だけfor文の直下のインデントされた部分を繰り返し実行します。
    

    • for 変数 range( 回数 ):
        処理1
        処理2  ※ インデントの位置を整えて下さい。
           

《 test013.py》

for x in range(3):
   print(" %d A " %x)
   print(" B ")

   結果
   

    2・3行目の処理を3回繰り返します。
   
    
     複数行ある場合、行毎にインデントの位置を変えるとエラーになります。
  

    • range( 回数 ):
           
       回数  ( n )   0 ~ n 回まで
           ( m,n )  m ~ n-1 回まで
           ( m,n,p )  m ~ n 回まで p 分増加させます。
          

      《 test014.py》

      ・ 0 ~ n-1 回まで
      for x in range(3):
          print(x)

         ○ 結果

      ・ m ~ n-1 回まで
      for x in range(3,6):
      print(x)

        ○ 結果


      ・ m ~ n-1 回まで p 分増加
      for x in range(3,9,2):
          print(x)

        ○ 結果

    

for文 2重ループ

    
for 
変数 range( 回数 ):
           for 変数 range( 回数 ):
                処理 
     

《 test015.py 》

for y in range(1,10):
    for x in range(1,10):
        a=x*y
        print("%2d"%a,end=" ")
    print("")

結果
   

結果九九です。
xに1が入り
3,4行目を繰り返し一の段が終了
5行目で改行
1行目に移動し、xに2が入りこれを繰り返して九九完成

     
    

判定条件が満たされている間、一連の処理を行う構造   while 文​
   
while 文とはまず、条件が満たされているか判断し、満たされていればそこで終了条件が満たされて無ければ、何度も同じ動作を繰り返し条件が満たされるまで続ける。無限ループになる可能性があります。

    • while(条件式):
         
      処理

《 test016.py 》

a=0;b=5
while (b>a):
print(" b = %d > a = %d "%(a,b))
a +=1

結果
  
aの0から、aに1ずつ増加してbが5以上なったら、繰り返しを止める。

break  と continue
   
for文やwhile文などの繰り返し処理で繰り返しを途中で中断できます。

    • break 
    • continue
        

break を理解できるとdo ~ while 文と同等の動作ができるようになります。
   

break
break は中断後 ​一番近いブロックの終わりに移動します。

《 test017.py 》

a=0;b=1
for a in range(5):
   if(a+b == 3):
     break
   print("break;%d+%d=%d"%(a,b,a+b))
print(" END ") 

○ 結果
a+b  が 3 担ったら、になったら、ループを抜けます。

continue

  
continue は中断後 次の回の最初に移動します。

《 test018.py 》

a=0;b=1
for a in range(5):
  if(a+b == 3):
   continue
  print("break;%d+%d=%d"%(a,b,a+b))
print(" END ")

結果
   
a+b  が 3になったら、最初に戻ります。だから、3は表示しません。
   

   

do ~ while
while文は「ある条件を満たす間、指定の処理を繰り返す」というものです。つまり条件が常にTrue(=真)であれば、指定の処理を永遠に繰り返すつまり、無限ループになります。

   
   
while 文 と do ~ while 文の違いは、条件を判断する後に処理をするか。処理行ってから判断するかの違いですが、Pythonでは do ~ while 文 は無いために IF 文を加える事で do ~ while 文 と同等の動作が出来ます。
   

《 test019.py》

a=0
while True:
   print(" b = %d > 3 "%(a))
   a +=1
   if(a == 3):
     break
print(" END ")

  
結果
   
a  が 3になったら、while 文 から抜けられます。
  

目次