この章ではbreakについて説明します。
breakはforやwhileなどと一緒に使います。
forやwhileの中で「ある条件下に達した時」にbreakを使ってforやwhileを抜けることができます。
つまり、現在行っている繰り返し作業を強制的に終了させます。
では例をみてみましょう。 for文のブロックの中にif文が入っています。
このif文の意味は「もし、iが4になったら for文を抜けますよ」と言う意味です。breakはこのように一連の流れを強制的に中止するために使われます。
では一連の流れを見てみましょう。
①初めに1がiに代入され、if文での 判定に入ります。もしiが4になったら、for文を抜けますが、iは1でfalseなので if文は実行されません。
②が実行され、「1つのリンゴ」を出力します。
③ for文の先頭に戻って、2がiに代入され if文での判定に入ります。
もしiが4になったら、for文を抜けますが、iは2でfalseなのでif文は実行されません。
④が実行され、「2つのリンゴ」を出力します。
⑤ for文の先頭に戻って、3がiに代入され if文での判定に入ります。
もしiが4になったら、for文を抜けますが iは3でfalseなのでif文は実行されません。
⑥が実行され、「3つのリンゴ」を出力します。
⑦ for文の先頭に戻って、4がiに代入され if文での判定に入ります。
もしiが4になったら、for文を抜けますが iは4でtrueなのでif文が実行されてbreakが実行されます。
ここでfor文を抜けるので、この後のは実行されません。
⑧ breakで for文を抜けたので、を実行して終了です。
インデントについては以前説明しましたが、もう一度復習します。 上の例は3つの文章に分かれていますので
それぞれの先頭を左端に合わせてください。
次はwhile文の中で、breakを使用する例を紹介します。 このプログラムはユーザーが入力したものに対して足し算を行っています。
「while True:」のように条件式をTrueにすると無限に繰り返しを行います。
この無限の繰り返しはbreakで抜けないと文字通り無限に繰り返しを行います。
raw_input関数はユーザーにキーボードからの入力を促すわけですが、例え数値を入力したとしても、raw_input関数は文字列として入力される仕様なので、文字列を数値に変換してあげないと計算することは出来ません。
そこで、その文字列をint関数でキャストして数値にしてあげることで計算することができるようになります。
if文の条件式のaが1になりましたら、while文を抜ける仕様になっていますので最後に1を入力したら計算が終わりになります。
最後に1が入力されていますが、ここで計算は終わりです。
この1は合計には含まれません。
結果は以下の通りです。
カテゴリー