学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

Python | 07 | while

↓↓クリックして頂けると励みになります。

繰り返しのプログラム while
繰り返しのプログラム while


Pythonのwhile文は、特定の条件が真(True)である間、繰り返しブロックのコードを実行するループ構造を提供します。
whileループは、条件が偽(False)になるまで、またはループが手動で中断されるまで繰り返し実行されます。


Visual Studio Codeで次の繰り返しのプログラムを作ってみましょう。


新規作成 【whiletest1.py】

# whiletest1.py

print( 'ループに入る前です。')

i = 0

while i < 10 :
	print( 'ここはループの中です。' )
	i += 1 

print( 'ループの外に出ました。' )



ではプログラムの内容をみていきましょう。
このプログラムでは、while文という構文を使っています。

while 条件 :
 条件式が真の時に実行1
 条件式が真の時に実行2
 条件式が真の時に実行3



もしwhileのあと条件に当てはまれば、そのあとのブロック処理が実行されます。
条件が当てはまっているうちは永遠にブロック処理が実行されます。


気をつけなければならないのは、終わらないような条件を入れてしまうと無限ループになってしまうということです。
その場合、プログラムを実行したときに終わることなく永遠に動き続けてしまいます。
もし、気づかず無限ループになってしまってそのまま実行し、プログラムが止まらなくなってしまったら、コントロールボタン(Ctrl)とCボタンを同時に押す(Ctrl+C)とプログラムを強制終了することができます。


最初の条件は、次のように宣言されています。
i = 0
これは、while文に入る前に宣言し、変数 i を初期化しています。
i=0なのでそのままwhile文の中に入ります。
ここで、次の文が実行されます
i += 1
これは変数 i 1を足すという意味です。
これを、インクリメントといいます。


このプログラムでは、まず i がインクリメントされて、変数 i の値が1になります。
その後、またwhile文に入り、インクリメントが繰り返されます。
iの値が10になったらループを抜けます。


出力結果を見てみましょう。

~/Desktop/Programming/Python_work $ python whiletest1.py 
ループに入る前です。
ここはループの中です。
ここはループの中です。
ここはループの中です。
ここはループの中です。
ここはループの中です。
ここはループの中です。
ここはループの中です。
ここはループの中です。
ここはループの中です。
ここはループの中です。
ループの外に出ました。



もう一つ、違う形のプログラムを見てみましょう。
Visual Studio Codeで以下のプログラムを作成します。


新規作成 【whiletest2.py】

# whiletest2.py

i = 0
x = 1

while True : 

	if x > 1000000 :
		break

	x *= 2
	i += 1 

print( '2の' + str(i) + '乗'  + ' > 1000000' )



ここでは、while文の条件にTrueを使っています。
これを使うと、無限ループを作ることができます。
しかしこのままでは終わらないプログラムになってしまいます。
そこで、breakを使います。
このbreakが読まれた時点で、ループから抜けることができます。


このプログラムでは、if文の条件に当てはまるまでループします。


次の文も見てみましょう。
x *= 2
これは、次の文と同じ意味です。
x = x*2
どちらで書いても同じですが、x *= 2と書く方が一般的です。


出力結果を見てみます。

# whiletest2.py

i = 0
x = 1

while True : 

	if x > 1000000 :
		break

	x *= 2
	i += 1 

print( '2の' + str(i) + '乗'  + ' > 1000000' )



もう一つプログラムを見てみましょう。
Visual Studio Codeで以下のプログラムを作成します。


新規作成 【whiletest3.py】

# whiletest3.py

import random

x = random.uniform(0.1,0.9)

print( 'x=' + str(x))

while x < 0.5 : 
	x = random.uniform(0.1,0.9)
	print( 'x=' + str(x) )

print( 'ループから抜けました。' )



0.1から0.9以下の間で数字がランダムに出てきます。
0.5以上になるまで表示が続き、0.5以上になると「ループから抜けました」とプリントされループを抜けます。


なお出力結果は一例で、ループにいる回数や数字は実行する度に違います。

~/Desktop/Programming/Python_work $ python whiletest3.py
x=0.17919589756890755
x=0.7102884231808523
ループから抜けました。



Visual Studio Codeで以下のプログラムを作成します。


新規作成 【whiletest4.py】

# whiletest4.py

print( 'ループの中に入ります。' )
	
count = 0 

while True: 
	if count > 9 :
		break 
	
	print( 'ループの中です:' + str(count) )
	count += 1 

print( 'ループから抜けました。' )



実行結果です。

~/Desktop/Programming/Python_work $ python whiletest4.py
ループの中に入ります。
ループの中です:0
ループの中です:1
ループの中です:2
ループの中です:3
ループの中です:4
ループの中です:5
ループの中です:6
ループの中です:7
ループの中です:8
ループの中です:9
ループから抜けました。





↓↓クリックして頂けると励みになります。

YAE C5 CLINIC(札幌美容クリニック)

関連記事(外部サイト)