30日間pythonベース(四、サイクル)

12821 ワード

1.1サイクル概念の意味:1つのサイクル現象または繰り返し現れる場合、この状態をサイクル狭義と呼ぶ:フルエンボス条件の場合、ある1つのセグメントコードを繰り返し実行し、プログラミング語の中で現れるこのような現象をサイクルと呼ぶ.繰り返し実行されるこのコードは循環体と呼ばれ、あるコードを繰り返し実行する場合、適切なタイミングで循環を停止する必要があります.そうしないと、デッドサイクルPythonで提供される循環文:while文、for-in文が生成されます.
1.2応用1.2.1 while構文
while

プロセス原理:while文に遭遇した場合、式の値が真の場合、循環体が実行されます.
#   1-100  
sum1 = 0
i = 1
while i <= 100:
 sum1 += i
 i += 1
print(sum1,i)

1.2.2 while-else
whileelse:else
i = 0
while i < 100:
 print("hello world")
 if i > 50:
 break
 i += 1
else:
 print("      ") #  : while        ,  【else   】,   break     
   else

1.2.3デッドループループループループループ文では、式は常に真のループである
while True:
 #   
while 1:
 #   

1.2.4 while文のネスト
while   1#    
 【   A】
 while   2#    
 【  B】

実行フロー:⾸先判断外層サイクルの条件1、もし本当ならば、実行サイクル体中の【文ブロックA】、実行内層サイクル、判断条件2が成立するかどうか、もし成立、実行内層サイクルの【文ブロックB】、実行内層サイクルを完了した後、改めて外層サイクル条件を判断する…
  • 特徴:外層循環
  • 外層サイクルと内層サイクルのサイクル変数は、異なるプレゼンテーションが必要です.
    #  
    i = 1
    while i <= 9:
     #        
     j = 1 #                
     while j <= 9:
     print("%d * %d = %2d "%(i,j,i*j),end='')
     j += 1
     print()
     i += 1
    

    1.3. breakとcontinue、exit()
    continue文は、現在のループの残りの文をスキップし、ループ条件を再判断し、次のループを開きます.continueはwhileおよびforサイクルでのみbreakが現在のサイクルを終了するために適用されます.現在の一重ループのみを適用します.breakはループ中にのみexit()エンドプログラムに表示されます
    #      
    #12 8     
    min1 = min(12,8)
    i = min1
    while i > 0:
     if 12 % i == 0 and 8 % i == 0:
     break #          
     i -= 1
    print(i)
    
    #  1 100 3     
    i = 0
    sum1 = 0
    while i < 101:
     if i % 3:
     i += 1
     continue #       ,      ,       
     sum1 += i
     i += 1
    print(sum1)
    

    2.forループPython forループを使用すると、リストや文字列などの任意のシーケンスのアイテムを巡回できます.構文:forループの構文フォーマットは次のとおりです.
    or 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!2.2シーケンスインデックス反復
    fruits = ['banana', 'apple',  'mango']
    for index in range(len(fruits)):
       print ('     :', fruits[index])
     
    print "Good bye!"
    

    以上の例は結果を出力します:現在の果物:banana現在の果物:apple現在の果物:mango Good bye!2.3 range関数Pythonについて提供されるrange関数は、forループに上記の機能を実現させることができ、forループを0から10までカウントするか、10から100まで毎回5増加させることができる.range関数の構文は次のとおりです.
    range(start,end,step=1)rangeは整数シーケンスを返し、statrは整数シーケンスの開始値、endは整数シーケンスの終了値であり、生成された整数シーケンスには終了値は含まれない.Stepは整数シーケンスで増加するステップ長で、デフォルトは1です.range(0,5)は0,1,2,3,4を含む整数シーケンスを生成し,Pythonは生成したこの整数シーケンスをforループ文に用い,ループは0から5,5を含まず,ステップ長は1,ループ回数は5である.
    range(10,30,5)は、10,15,20,25を含む整数シーケンスを生成し、サイクルは10から25、30を含まず、ステップ長は5、サイクル回数は4である.rangeがforループに使用される場合、ループ回数はrangeが返す整数シーケンスの長さに依存し、ループごとのインデックス数は整数シーケンスの値であることがわかる.2.4ループはelse文pythonで、for...elseはこのような意味を表し、forの中の文は普通の文と変わらず、elseの中の文はループが正常に実行された(すなわち、forはbreakジャンプで中断されたものではない)場合に実行され、while...elseも同じである.
    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は1質量数12=2*6 13は1質量数14=2*7 15=3*5 16=2*8 17は1質量数18=2*9 19は1質量数