30日間pythonベース(四、サイクル)
12821 ワード
1.1サイクル概念の意味:1つのサイクル現象または繰り返し現れる場合、この状態をサイクル狭義と呼ぶ:フルエンボス条件の場合、ある1つのセグメントコードを繰り返し実行し、プログラミング語の中で現れるこのような現象をサイクルと呼ぶ.繰り返し実行されるこのコードは循環体と呼ばれ、あるコードを繰り返し実行する場合、適切なタイミングで循環を停止する必要があります.そうしないと、デッドサイクルPythonで提供される循環文:while文、for-in文が生成されます.
1.2応用1.2.1 while構文
プロセス原理:while文に遭遇した場合、式の値が真の場合、循環体が実行されます.
1.2.2 while-else
1.2.3デッドループループループループループ文では、式は常に真のループである
1.2.4 while文のネスト
実行フロー:⾸先判断外層サイクルの条件1、もし本当ならば、実行サイクル体中の【文ブロックA】、実行内層サイクル、判断条件2が成立するかどうか、もし成立、実行内層サイクルの【文ブロックB】、実行内層サイクルを完了した後、改めて外層サイクル条件を判断する…特徴:外層循環 外層サイクルと内層サイクルのサイクル変数は、異なるプレゼンテーションが必要です.
1.3. breakとcontinue、exit()
continue文は、現在のループの残りの文をスキップし、ループ条件を再判断し、次のループを開きます.continueはwhileおよびforサイクルでのみbreakが現在のサイクルを終了するために適用されます.現在の一重ループのみを適用します.breakはループ中にのみexit()エンドプログラムに表示されます
2.forループPython forループを使用すると、リストや文字列などの任意のシーケンスのアイテムを巡回できます.構文:forループの構文フォーマットは次のとおりです.
出力結果:現在のアルファベット:P現在のアルファベット:y現在のアルファベット:t現在のアルファベット:h現在のアルファベット:o現在のアルファベット:n現在の果物:banana現在の果物:apple現在の果物:mango Good bye!2.2シーケンスインデックス反復
以上の例は結果を出力します:現在の果物: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も同じである.
以上の例の出力結果: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質量数
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
while :
else:
【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質量数