while文の基本

while文の基本

while文は条件式が真の間は処理を繰り返しループさせるときに使います。
使い方は次のようになります。
#while文の使い方
#while 条件式:
	繰り返す処理1
	繰り返す処理2

while i<3:
	print(i)
	i+=1
#[結果]
#0
#1
#2
while文の処理の途中で次のループをさせたいときにはcontinueを使います。
ループがネストされている場合、continueは一番内側のループについて再度処理をします。
i=0
while i<3:
	i+=1
	if i%2==0:
		print(f"{i}:continue")
		continue
	print(i)
#[結果]
#1
#2:continue
#3
また、途中でループを終了させたい場合はbreakを使います。
ループがネストされている場合、breakは一番内側のループから抜けます。
i=0
while i<10:
	i+=1
	if 2<i:
		print(f"{i}:break")
		break
	print(i)
#[結果]
#1
#2
#3:break
ループが無事に終了した場合の処理にはelse文を使います。
i=0
while i<3:
	print(i)
	i+=1
else:
	print(f"{i}:else")
#[結果]
#0
#1
#2
#3:else
もしbreakによりwhile文を抜けた場合はelse文は実行されません。
i=0
while i<3:
	if i==1:
		print(f"{i}:break")
		break
	print(i)
	i+=1
else:
	print(f"{i}:else")
#[結果]
#0
#1:break

2重ループ

ループがネストしている場合のbreakは一番内側のループから抜けます。
i=0
while i<3:
	j=0
	while j<3:
		if i==1 and j==1:
			print(f"({i},{j}):break")
			break
		print(f"({i},{j})")
		j+=1
	i+=1
#[結果]
#(0,0)
#(0,1)
#(0,2)
#(1,0)
#(1,1):break
#(2,0)
#(2,1)
#(2,2)
breakとelseを使って外側のループを抜けることが出来ます。
i=0
while i<3:
	j=0
	while j<3:
		if i==1 and j==1:
			print(f"({i},{j}):break_1")
			break
		print(f"({i},{j})")
		j+=1
	else:
		i+=1
		print(f"({i},{j}):continue")
		continue
	print(f"({i},{j}):break_2")
	break
#[結果]
#(0,0)
#(0,1)
#(0,2)
#(1,3):continue
#(1,0)
#(1,1):break_1
#(1,1):break_2
ループ用のフラグ変数を使って2重ループを抜けることもできます。
flag=False
i=0
while i<3:
	j=0
	while j<3:
		if i==1 and j==1:
			print(f"({i},{j}):break_1")
			flag=True
			break
		print(f"({i},{j})")
		j+=1
	if flag:
		print(f"({i},{j}):break_2")
		break
	i+=1
#[結果]
#(0,0)
#(0,1)
#(0,2)
#(1,0)
#(1,1):break_1
#(1,1):break_2

do while文

do while文とは必ず1回はループ処理をして、その後でループをするかどうかを条件式により決める文です。
pythonではこのdo while文は実装されていないのでwhile Trueとbreakにより疑似的に使います。
i=0
while True:
	print(i)
	i+=1
	#最後でループを抜けるか判定する
	if(2<i):
		print(f"{i}:break")
		break
#[結果]
#0
#1
#2
#3:break

ページ情報
タイトル
while文の基本
URL
https://www.nomuramath.com/d26z97of/
SNSボタン