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

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

Python | 06 | 繰り返しのプログラム while

<<前  [TOP]  次>>


ターミナルを開いて次の繰り返しのプログラムを作ってみましょう。


【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になったらループを抜けます。


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

whiletest1.py
whiletest1.py



もう一つ、違う形のプログラムを見てみましょう。


【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
whiletest2.py



もう一つプログラムを見てみましょう。


【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以上になると「ループから抜けました」とプリントされループを抜けます。


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

whiletest3.py
whiletest3.py



【whiletest4.py】

# whiletest4.py

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

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

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



実行結果です。

whiletest4.py
whiletest4.py



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


<<前  [TOP]  次>>