Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのループでelse文を使う方法をわかりやすく解説

Pythonのループにおけるelseブロックとは

Pythonでは、while文やfor文などのループ構造に、他の多くのプログラミング言語にはない特徴的な機能としてelseブロックを組み合わせることができます。

このelseブロックは、ループの反復処理がすべて正常に完了した後、プログラムの制御がループブロックを抜ける直前に実行されます。つまり、ループが最後まで回り切ったタイミングで一度だけ処理されるという仕組みです。

while文とelseの基本的な使い方

以下は、whileループにelseブロックを追加したシンプルな例です。

x = 0
while x < 5:
    x = x + 1
    print(x)
else:
    print("ループのelseブロック")
print("ループ終了")

実行結果

1
2
3
4
5
ループのelseブロック
ループ終了

このコードでは、変数xが5未満である間、ループ内で値を1ずつ増やしながら表示していきます。xが5に達して条件式が偽になると、ループ本体の処理は終了しますが、その直後にelseブロックが実行され、「ループのelseブロック」というメッセージが出力されます。その後、プログラムの制御はループ全体を抜けて、次の「ループ終了」の表示へと進みます。

for文でもelseは使える

elseブロックはforループでも同様に使用できます。

for i in range(3):
    print(i)
else:
    print("forループのelseブロック")

イテレーション(反復)がすべて完了すると、elseブロック内の処理が実行されます。

break文との関係に注意

elseブロックの動作で重要なポイントは、ループがbreak文によって中断された場合にはelseブロックは実行されないということです。

x = 0
while x < 5:
    x = x + 1
    if x == 3:
        break
    print(x)
else:
    print("この行は表示されません")
print("ループ終了")

この例では、xが3になった時点でbreakによってループが強制終了されるため、elseブロックはスキップされます。

まとめ

  • Pythonのループにはelseブロックを付加できる
  • elseブロックは、ループの全反復が正常に完了した後に実行される
  • breakでループを抜けた場合はelseブロックは実行されない
  • 検索処理などで「見つからなかった場合の処理」を書くのに便利

この仕組みを活用すると、ループが最後まで完了したかどうかを判定するためのフラグ変数を使わずに済み、コードをより簡潔に記述することができます。

  1. Pythonのextend()メソッドの使い方を初心者向けにわかりやすく解説

    例えば、パーティーを開くことになって、招待したい友人のリストを作るとしましょう。このリストは、招待したい人を思い出すたびに増えていくかもしれません。 そんなときに役立つのがPythonのextend()メソッドです。extend()メソッドを使うと、リストの末尾に1つまたは複数の要素を追加できます。 この記事では、Pythonのextend()メソッドの使い方を、招待リストの例を使いながら丁寧に解説していきます。 Pythonのextend()メソッドとは? Pythonのextend()メソッドは、Pythonのリストメソッドのひとつです。他のリストメソッドにはappend()やinsert

  2. C言語の「else ifラダー」条件文の使い方を徹底解説!基本構文から実行例まで

    else ifラダー(階段状条件分岐)とは?「else ifラダー」とは、複数の条件の中から該当するものを選んで処理を実行する、いわゆる多方向分岐を記述する際に最も一般的に使われる方法です。条件式を上から順番に評価していき、最初に真(true)となった条件に対応する処理だけが実行され、残りの分岐はすべてスキップされます。基本構文else ifラダーの基本的な書き方は以下の通りです。if (condition1) stmt1; else if (condition2) stmt2; - - - - - - - - - - else if (conditio