Python - 処理を繰り返すwhile文とbreak文

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 += 1num = num + 1と記述することもできます。

実行結果は以下の通りです。

% python while.py
数字を入力:5
num = 0
num = 1
num = 2
num = 3
num = 4
num = 5

break文でループを抜ける

break文を使用すると、for文やwhile文などのループの処理を中断してブロックから抜けることができます。
使い方としては、for文やwhile文の中でif文で条件判断を行い、ある条件を満たしたらループから抜けるといった使い方があります。

while文にbreak文を使ってみる

例として先ほどの、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文にbreak文を使ってみる

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
ループ終了

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: