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

目次

while文のサンプル

while 条件:
       処理

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

# coding: utf-8

a = 0

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

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

point

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

 

while文 + else

# coding: utf-8

a = 0

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

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

 

breakでループを抜ける

# coding: utf-8

a = 0

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

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

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

 

continueでループの先頭に戻る

# coding: utf-8

a = 0

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

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

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

 

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

while True:
       処理
       if 条件:
            break

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

# coding: utf-8
a = 0

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

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

point

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

関連の記事

Python if文のサンプル
Python for文 処理を繰り返す(break/continue)

△上に戻る