Python勉強会~制御構文編②~

前回は、条件分岐のif文について触れていきました。 今回は、第2弾として繰り返し処理のfor文とwhile文について触れていきます。

ちなみに前回の記事は、こちらになります。

制御構文編①

目次

スポンサーリンク




繰り返し処理

ループ処理とも呼ばれてます。

for文

基本構文はこちら、

末尾の:(コロン)を忘れずに。 シーケンス型は、ほかの言語では”配列”とも言われます。 これについては、別の型のときに触れていきます。

構文の意味としては、シーケンス型に含まれているアイテムについて、 処理が実行されます。

例えば、文字列”ABCDEF”をひとつずつ表示したい場合、 for文を使うと下のようになる。

これを実行すると、

こんな形になります。 この処理を絵にしてみると……

forの処理を表しているのが、台形の部分になります。

回数に応じてループを回したい場合

他の言語の例として、VB.Netでは、for文には2種類あって、 1種類は、前述したPythonでのfor文、これがVB.Netだとfor~each文と位置付けられています。 ※for~each文ってなんだ?ってなると思うので簡単に触れます。 したに、VB.Netでのfor~each文を記します。

これが、Pythonで扱われるfor文に近い処理になります。 Pythonの時と同じ処理になります。 Pythonの方がシンプルに記述されているのがわかるかと思います。 VB.Netの文法については、VisualBasic回でまとめます。

2種類目が、for文で下のような文になります。

これは、0から10までを繰り返し、それぞれ表示をしています。 値の出力は、VB.Netだと“Console.WriteLine”で行えます。

このようにVb.Netでは2種類のfor文があります。 ですが、Pythonには、このVB.Netでいうfor文がありません。 したがって回数に応じて繰り返し処理をしたい場合、

こう書きたくなりますが、エラーとなってしまいます。 じゃあ、どうすればいいのか……そこでrange関数という関数を使います。

range関数

range関数は、必要に応じて整数値を生成する、 範囲オブジェクトと呼ばれるオブジェクトを作成します。 for文においては、特定の回数を繰り返したい場合に使われます。 構文としては、下のようになります。

range(開始番号[、停止番号][、ステップ番号])

パラメータ(開始整数、終了整数、ステップ)を設定することで、 条件を変更できます。 開始番号の初期値は0になります。←注意が必要

ステップ番号は、何個ずつ処理を行うかになります。 負の値も使うことができます。 ステップ番号が与えられていない場合は、0からスタートになります。

ここで例を示します。

こんな感じになります。 開始番号が0なので、10までは繰り返されません。 ※ 気を付けてください。筆者もこれでハマった時があります。 このrange関数を使うことで、回数に応じた繰り返しができるようになります。 例えば、前回学んだif文と組み合わせると……

ここでは、3回まで繰り返したら”Hello World”を出力し、 処理を抜けるということをしています。 処理抜ける際に使う文が、breakといわれる文です。 これを使うことで処理を抜けることができます。 絵で描くと、

この他にも、

これは、3回目だけ、値が出力されません。 このcontinue文は、ループをスキップしたいときに使います。 こちらも絵で描くと、

こんな感じになります。

for文については、いろいろ触れてきましたが ざっと、ここまでわかっていれば使えると思います。

練習問題を……

① forループを10回繰り返したとき、 偶数のときだけ、数値を出力してください。

② forループを10回繰り返したとき、 3回目でループを抜けだしてください。 ※ 途中回数は出力してください。

おわりに

while文については、次回に持ち越します……。(すみません。) 興味を持ってもらえたら嬉しいです。 知識の共有が誰かしらの支えや糧になればなと思います。

はじめてのプログラミングコース

スポンサーリンク




スポンサーリンク
スポンサーリンク