while文内でよく使われるcontinueとbreakの使い方についてまとめています。前回の記事でwhile文(ループ)での基本的な作り方や使い方をまとめました。今回はその続きです。
あわせて読みたい


【Python】while文(ループ)の作り方と使い方
for文では繰り返し処理ができるのですが、こういう条件の時だけ繰り返し処理を行いたいという時には少し不便です。そんな時に使えるのがwhile文(ループ)です。while文…
目次
break文の使い方
break文はwhile文やfor文のブロック内で使われます。そして、breakに処理が到達するとbreak以降の処理が停止され、ループを終了させる役割があります。よくif文と共に使われ、if文がTrueの時にループ処理が停止するように使われる事が多いです。
Python
i = 0
while i < 5:
if i == 3:
break
print(i)
i += 1
'''
【実行結果】
0
1
2
あわせて読みたい


【Python】比較演算子「==」と「!=」の意味と使い方
Pythonでの比較演算子==と!=についてです。比較演算子とは演算子の左側と右側を比べるものになります。この比較演算子ではTrueかFalseの値しか返されません。 他の比較…
あわせて読みたい


【Python】if文(条件文)での条件分岐の書き方
Pythonでのif文(条件文)での書き方について、まとめました。if文を用いると条件によって行う動作を変える事(条件分岐)が行えます。日常でも、「明日晴れたら買い物…
上記コード例では次のような流れで処理が進みます。
- 変数iに0が代入されます
- 2行目のwhile文の条件式で真偽判定がされます。
- i <= 5は真(True)なので、ループ処理が開始されます。
- 続いて、if文の真偽判定がされます。i == 3は偽(False)なので、if文のブロックはスキップされます。
- 0が出力されます。
- iに1が加算された値が代入されます。
- whileループの始め(2行目)に戻ります。
- 以下、上記2)~6)を繰り返します。
- 上記2)~6)を繰り返し、変数iが3になります。
- 2行目のif文の真偽判定になります。i= 3なので真(True)が返るので、if文内のブロックの処理が実行されます。
- 3行目のbreakが実行され、ループ処理が終了します。
continue文の使い方
continue文はそれ以降のコードをスキップして、ループの先頭に戻ります。continue文もif文と一緒に使われる事が多いです。
Python
i = 0
while i < 5:
if i == 3:
continue
print(i)
i += 1
'''
【実行結果】
0
1
2上記コード例では次のような流れで処理が進みます。
- 変数iに0が代入されます。
- 2行目のwhile文の条件式で真偽判定がされます。
- i <= 5 は真(True)なので、ループ処理が開始されます。
- 続いて、if文で真偽判定がされます。i == 3は偽(False)なので、if文のブロックはスキップされます。
- 5行目のブロックのprint()関数により0が出力されます。
- iに1が加算された値が代入されます。
- whileループの始め(2行目)に戻ります。
- 以下、上記2)~7)が繰り返されます。
- 上記2)~7)を繰り返し、変数iが3になります。
- 3行目のif文で真偽判定がされます。i = 3なので真(True)が返るので、if文のブロックが実行されます。
- continueが実行され、whileループの先頭に戻ります。
- 以下10)と11)が繰り返され、出力されるのは0,1,2となります。
3以外が出力されるには?
上記コード例では、0、1、2しか出力されませんでした。ただ、i == 3の時だけ出力をスキップして、i <= 5を満たす全ての値は出力されるようには、どのようにしたらよいのでしょうか。
下記コード例のようにif文のブロック内に i += 1を記述するとi == 3の時もi に1を加算した値を代入する事ができ、whileループを進める事ができます。
Python
i = 0
while i < 5:
if i == 3:
i += 1
continue
print(i)
i += 1
'''
【実行結果】
0
1
2
4
5
コメント