Pythonで処理を繰り返す方法として、for文の他にwhile文があります。while文は指定した条件がTrueの間、指定した処理を繰り返すための文です。Pythonでのwhile文の書式は以下の通りです。
while 条件:
処理1
処理2
・・・
まずは簡単なプログラムを書いてみます。0からキーボードから入力した数字までを順に表示させるプログラムです。
% vim while.py
end = int(input("数字を入力:"))
#変数numを0に初期化
num = 0
while num <= end:
print ("num = " + str(num))
#numの値を1ずつカウントアップ
num += 1
最後の’‘‘num += 1’’’でnumの値を1ずつカウントアップさせていますが、これを書き忘れるとnumの値は常に0のままになるため、永遠に条件式がTrueとなり、無限ループが発生していまいます。
また、num += 1
はnum = num + 1
と記述することもできます。
実行結果は以下の通りです。
% python while.py
数字を入力:5
num = 0
num = 1
num = 2
num = 3
num = 4
num = 5
break文を使用すると、for文やwhile文などのループの処理を中断してブロックから抜けることができます。
使い方としては、for文やwhile文の中でif文で条件判断を行い、ある条件を満たしたらループから抜けるといった使い方があります。
例として先ほどの、0からキーボードから入力した数字までを順に表示させるプログラムを使って、numが10になったらループから抜け出すコードを追加してみます。
% vim while.py
end = int(input("数字を入力:"))
#変数numを0に初期化
num = 0
while num <= end:
if num == 10:
print ("ループ終了")
break
print ("num = " + str(num))
#numの値を1ずつカウントアップ
num += 1
実行結果は以下の通りです。
% python while.py
数字を入力:20
num = 0
num = 1
num = 2
num = 3
num = 4
num = 5
num = 6
num = 7
num = 8
num = 9
ループ終了
for文でもwhile文と同様にbreak文を使用できます。先ほどと同様の「0からキーボードから入力した数字までを順に表示させるプログラム」をfor文を使って作成し、numが10になったらループから抜け出すコードを作成してみます。
% cat for.py
end = int(input("終了する数値を入力:"))
num = 0
for num in range(end + 1):
if num == 10:
print ("ループ終了")
break
print (num)
実行結果は以下の通りです。
% python for.py
終了する数値を入力:20
0
1
2
3
4
5
6
7
8
9
ループ終了
ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!
これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。
もちろん無料です!!
↓メールマガジン購読はこちら↓