プログラムは通常、順番に実行されます。プログラミング言語はさまざまな制御構造を提供し、より複雑な実行パスを可能にします。Pythonのループステートメントにはforとwhileがありますが、whileはありません
ループステートメントを使用すると、ステートメントまたはステートメントグループを複数回実行できます。ほとんどのプログラミング言語でのループステートメントの一般的な形式は次のとおりです。
Pythonはループとwhileループを提供します(Pythonにはdo whileループはありません)
サイクルタイプ | 説明 |
---|---|
[ while loop] "Python WHILE loop") | 指定された判定条件が真の場合にループ本体を実行し、そうでない場合はループ本体を終了します。 |
[ forループ] "Python FORループ") | ステートメントを繰り返し実行する |
[ ネストされたループ] "Pythonループフルセット") | whileループの本体にforループをネストできます |
Pythonプログラミングのwhileステートメントは、ループ内のプログラムを実行するために使用されます。つまり、特定の条件下でプログラムをループ内で実行して、繰り返し処理する必要のある同じタスクを処理します。基本的な形式は次のとおりです。
Gifは、Pythonwhileステートメントの実行プロセスを示しています
もう少し複雑
Example1
count =0while(count <9):print(count,"The count is:"),count
count = count +1print('Good bye!')0 The count is:1 The count is:2 The count is:3 The count is:4 The count is:5 The count is:6 The count is:7 The count is:8 The count is:
Good bye!
Whileステートメントには、他に2つの重要なコマンドcontinueがあります。ループをスキップするためのbreadk、ループをスキップするためのcontinue、ループを終了するためのbreak、および「判断条件」も定数値であり、ループを確立する必要があることを示します。 、具体的な使用法は次のとおりです。
count =0while(count <9):
count = count +1if count%2>0: #偶数でない場合は出力をスキップする
continueprint(count)print('Good bye!')
count =0while(count <9):
count = count +1if count >4: #カウントが4より大きい場合、ループからジャンプします.breakprint(count)print('Good bye!')
無限ループ
var=1whilevar==1:
num =input('Enter a number ')print("You enterd:",num)print("Good bye!")
You enterd:
Enter a number
You enterd:
Enter a number
You enterd:
Enter a number
You enterd:
Enter a number
You enterd:
Enter a number
elseステートメントを使用してループ
count =0while count <5:print(count," is less than 5")
count = count +1else:print(count," is not less than 5")0 is less than 51 is less than 52 is less than 53 is less than 54 is less than 55 is not less than 5
単純なステートメントグループ
flag =1while(flag):print('Given flag is really true!')print("Good bye!")
Python forループは、リストや文字列など、アイテムの任意のシーケンスを容易にすることができます
for iterating_var in sequence:statements(s)
for letter in'python':print('現在の手紙:',letter)
fruits =['banana','apple','mango']for fruits in fruits:print('現在の果物:',fruits)print("Good bye!")
# 現在のインスタンス操作の結果は次のとおりです。
現在の手紙: p
現在の手紙: y
現在の手紙: t
現在の手紙: h
現在の手紙: o
現在の手紙: n
現在の果物: banana
現在の果物: apple
現在の果物: mango
Good bye!
fruits =['banana','apple','mango']for index inrange(len(fruits)):print('現在の果物:',fruits[index])print("Good bye!")
現在の果物: banana
現在の果物: apple
現在の果物: mango
Good bye!
# 上記の例では、組み込み関数lenを使用しました()そして範囲()関数len()リストの長さ、つまり要素の数を返し、範囲はシーケンスの数を返します.
elseステートメントを使用したループ** pythonでは、for…elseはこれを意味します。forのステートメントは通常と同じです。elseのステートメントはループ内で通常どおり実行されます(つまり、forはブレークから抜け出すことによって中断されません) )、同じことがしばらくの間も当てはまります…その他。 ****
for i inrange(5):print(i)
# rangeを使用して間隔の値を指定することもできます:for i inrange(5,9):print(i)5678
# 指定した番号で範囲を開始し、別の増分を指定することもできます(それは否定的でさえありえます、時々これはまた呼ばれます'ストライド'):for i inrange(0,10,2):print(i)02468
# 範囲と組み合わせることもできます()そしてlen()シーケンスのインデックスをトラバースする関数,次のように:
a =['Google','Baidu','360','JinDong']for i inrange(len(a)):print(i,a[i])0 Google
1 Baidu
23603 JinDong
# 範囲も使用できます()リストを作成する機能
a=list(range(5))print(a)[0,1,2,3,4]
実行フローチャートを破る
実行フローチャートを続行
コード実行プロセス
Breakステートメントはforループとwhileループからジャンプできます。forループまたはwhileループから終了すると、対応するelseブロックは実行されません。** Continueステートメントは、現在のループブロックの残りのステートメントからジャンプするようにPythonに指示するために使用されます。次のサイクルに進む**
例** Break inWhileを使用**
n =5while n >0:
n -=1if n ==2:breakprint(n)print('ループの終わり')43
ループの終わり
Whieで続行を使用
n =5while n >0:
n -=1if n ==2:continueprint(n)print('ループの終わり')4310
ループの終わり
forループはbreakとcontinueを使用します
for i in'YouMen':if i =='M':breakprint('現在の手紙は:',i)print('----------------------')for i in'YouMen':if i =='M':continueprint('現在の手紙は:',i)
現在の手紙は: Y
現在の手紙は: o
現在の手紙は: u
----------------------
現在の手紙は: Y
現在の手紙は: o
現在の手紙は: u
現在の手紙は: e
現在の手紙は: n
Python passは、プログラム構造の整合性を維持するための空のステートメントです** Passは何も行わず、通常はプレースホルダーステートメントとして使用されます最小クラス Python言語passステートメントの構文形式は次のとおりです**
pass
# Example
for letter in'python':if letter =='h':
pass
print('これはパスブロックです')print("現在の手紙:",letter)print("Good bye!")
# 上記の例の結果は次のとおりです。:
現在の手紙: p
現在の手紙: y
現在の手紙: t
これはパスブロックです
現在の手紙: h
現在の手紙: o
現在の手紙: n
Good bye!
Exapmleの最小クラス
classMyEmptyClass:
pass
例1素数を出力する
for num inrange(10,20):for i inrange(2,num):if num%i ==0:
j=num/i
print("%dは等しい%d * %d"%(num,i,j))breakelse:print(num)10は2に等しい*51112は2に等しい*61314は2に等しい*715は3に等しい*516は2に等しい*81718は2に等しい*919
例27で割り切れる1000内の最初の20個の数値を計算します
count =0for i inrange(0,1000,7):print(i)
count +=1if count >=20:break
**例35桁以下の正の整数が与えられた場合、それが何桁であるかを判別し、その数を順番に、数十桁、数百桁、数千桁で出力します。
アイソセル三角形を印刷
rows =10for i inrange(0, rows):for k inrange(0, rows - i):print("*",end="") #ここに注意してください","、省略してはいけません、ラッピングしないという役割を果たすことができます
k +=1
i +=1print()
中空ダイヤモンドを印刷
rows =10for i inrange(rows):for j inrange(rows - i):print(" ", end=" ")
j +=1for k inrange(2* i -1):if k ==0 or k ==2* i -2:print("*", end=" ")else:print(" ", end=" ")
k +=1print("\n")
i +=1
# 菱形の下部
for i inrange(rows):for j inrange(i):
# (1, rows-i)print(" ", end=" ")
j +=1for k inrange(2*(rows - i)-1):if k ==0 or k ==2*(rows - i)-2:print("*", end=" ")else:print(" ", end=" ")
k +=1print("\n")
i +=1
Recommended Posts