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

おすすめ記事

  • 【特集】 いまさら聞けないIT契約書のはなし【第4回 契約の種類(2)】
  • 【特集】 進化する脅威にどう立ち向かうか【最終回】
  • 【特集】 災害復旧、事業継続計画(BCP)などの対策状況(2018年)・後編
  • 【特集】 地震や台風から情報資産を守る救世主・データセンター活用の今
  • 【特集】 「固定電話も、ムダ残業もやめた」徹底した"富士通流"働き方改革
  • 関連記事

    メールマガジン

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

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

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

    もちろん無料です!!

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

    メールアドレス:

    検索

    特集

    初心者のためのciscoルータの管理

    目指せPMP


    著書

    図解入門 よくわかる最新ネットワーク技術の基本と仕組み

    初心者のためのCiscoルータ運用ガイド: 最速でCiscoルータを理解するための解説書

    目指せPMP PMBOK第5版対応: 最速でPMPに合格するための解説書

    見てわかるTCP/IP

    おすすめ記事

    カテゴリ

    ブログ最新記事