Python

【Python】while文でcontinueとbreakを使う

今回はpythonのwhile文でcontinueとbreakがどんな処理をするのかを実際のプログラムで確認してみます。

サンプルコード

以下、シンプルですがサンプルコードになります。

i=0

while i<10:
	if i==5:
		i+=1
		continue
	elif i==8:
		break
	print(str(i) + ': hello')
	i+=1
	

iに0を代入してiが10以下の間はwhile文の中を繰り返すという条件式にしました。ただしif文による条件分岐でiが5のときはcontinueが実行されiが8のときはbreakが実行されます。それ以外の数字のときはその時のiの値とhelloという文字列を出力します。

 [temp id=2]

実行結果は以下のようになります。

$ python whileTest.py
0: hello
1: hello
2: hello
3: hello
4: hello
6: hello
7: hello

実行結果を確認するとcontinueとbreakがどのような処理をするのかわかります。iの値が0−4までは通常通りの出力がされます。しかし4の次は6が出力されています。これはiの値が5になったときにcontinueが実行されるからです。continueが実行されるとその時点でループ内の処理を終わらせて次のループへと移ります。よって5の時はprintの処理が実行されないまま、条件判定に戻ります。

また本来であれば10回までループするはずですが、7までで終了しています。これは8になったときにbreak文が実行されるからで、break文が実行されるとその時点でループを抜けます。

以上がwhile文の中でcontinueとbreakの動きになります。これはfor文でも同様の処理が行われるので、使えるようになると何かと便利かもしれません。

-Python