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

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

スポンサーリンク




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