Python while文とdo…while文にあたる書き方

目次

while文のサンプル

while 条件:
       処理

条件がtrueの場合、処理が繰り返されます。

a = 0

while a < 5:
	print(a) # 0,1,2,3,4が出力される
	a += 1

値が5より小さい間、処理を繰り返します。
条件(a < 5)のあとにコロン(:)をつけます。

point

・条件がtrueの間、処理を繰り返します。
・条件がfalseの場合、処理を終了します。
・最初の判定がfalseの場合、処理は1回も実行されません。
・処理に条件をfalseにするロジックがないと無限ループになるので注意が必要です。

while文 + else

a = 0

while a < 5:
	print(a) # 0,1,2,3,4が出力される
	a += 1
else:
	print("next is 5") # next is 5が出力される

6行目は、elseです。3行目の条件(a < 5)がfalseになった時に7行目が実行されます。
while文の中にbreakがありそのbreakでwhile文を抜けた場合、else配下は実行されません。

breakでループを抜ける

a = 0

while a < 5:
	if a == 3:
		break
	print(a) # 0 1 2が出力される
	a += 1

print("end") # endが出力される

breakは、while文を抜けます。
aの値が3のときwhile文を抜け次に「end」が表示されます。

continueでループの先頭に戻る

a = 0

while a < 5:
	if a == 3:
		a += 1
		continue
	print(a) # 0 1 2 4が出力される
	a += 1

print("end") # endが出力される

6行目にcontinueがあります。aの値が3のとき7行目にはいかず、ループ処理の先頭の3行目に戻ります。
このサンプルでは5行目の加算がないと無限ループになるので注意して下さい。

do...while文にあたる書き方

while True:
       処理
       if 条件:
            break

最初に1回は処理が実行されます。
条件がtrueの場合、処理が繰り返されます。

a = 0

while True:
	print(a) #0 1 2 4 5が出力される
	a += 1
	if a > 5:
		break

3行目は、while Trueで最初の1回は必ず実行するようにします。
5行目は、ループの変数を1加算しています。
6行目の条件がtrueになったときに7行目のbreakでwhile文を抜けます。

point

・JavaやJavaScriptなどにあるdo...while文にあたる書き方です。必ず1回は処理が実行されます。
・while True:として、無限ループさせます。
・if文で条件を判定してbreakで処理を終了します。

関連の記事

Python if文 条件で処理を分ける
Python for文 処理を繰り返す(break/continue)

△上に戻る