クロセンベイ__2_

Pythonでプログラミング(制御構文編①if文について)[267]

(注)サムネイルの出典はphotoACです。
前回の第1回の記事ではプログラミングとは何か?、Pythonとは何か?そしてpythonのインストール方法、Pythonの基礎の基礎ということで制御構文の前まで説明しました。今回はif構文、for文、while文について説明したいと思います。

前回第一回の記事へはここをクリックしてください

第1章:制御構文とは一体?

では今回のテーマである制御構文とは一体なんなのでしょうか?

制御構文というのは、普通プログラムは上から下に実行されていくところ(図1)を実行する優先順位(順番)を指定したいというときに用いるものです。制御構文にはいくつかの種類があります。
  図1)


(例1)条件分岐:

条件分岐とは条件に応じて処理を分岐するもののことです。例えばこの図のようなときは処理1を実行した後条件を調べて、条件が真のとき(条件が正しいときに)に処理2を実行し、その後処理4を実行します。また条件が偽のとき(条件が間違っているとき)には、処理3を実行してから処理4を実行します。

(例2)繰り返し処理:

この図の様に繰り返し処理とは条件に応じて処理を繰り返し実行するというものです。この図の場合、処理1の後条件が真の間、処理2を繰り返し実行します。また条件が偽になった場合は繰り返しを止めて続く処理3を実行します。

第2章:条件分岐のif文


if文の書き方:
    if 条件:
        #ここに真のときの処理
    else:
         #ここに偽のときの処理

条件に応じて処理を分岐しますが真と偽のそれぞれの場合の処理はインデント(字下げ)して記述することになっています。ちなみにインデントには任意の個数のスペースかタブを指定することができますが半角スペース4個分を指定することが推奨されてます。また、if条件:やelse:には必ず:(コロン)をつけて下さい。

先ほどのif文の書き方のif 条件の条件の部分には比較式(ある値同士の関係を調べる式)を記述します。

代表的な比較式の例:
・a == b       aとbが等しいか
・a != b        aとbが等しくないか
・a > b         aがbより大きいか
・a >= b       aがb以上であるか
・a < b          aがbより小さいか
・a <= b        aがb以下か

実践:次の様なコードを実行するとどのように表示されるでしょうか?

実行すると・・・

となります。なぜなら上の写真のコードで40以下は点火その他は消火と表示する様にプログラムしたからです。この場合はohuro = 40なので点火と表示されます。

ちなみにif文でelse:以下の文は省略できます。

ちなみに比較式で真のときにはTrueが偽のときはFalseという値が得られます。この様にTrue, Falseを取る値を真偽値と呼びます。

上の図からも真のときにはTrueが偽のときにはFalseという値が得られることがわかります。

また真か偽になったときの処理を空にしたいときはpassを使います。

例)
if a == b:
    pass
else:
    print("aとbは等しくない")

という様なプログラムなどにpassは使えます。


プログラムにユーザーが無効な入力をした場合には先ほどのpassと同じ様な使い方でquit()でプログラムを途中で中断することができます。


またifのところの条件以外にも条件を加えたい場合には次の様なプログラムの書き方をします。

if 条件1:
    条件1が真のときの処理
elif 条件2:
    条件2が真のときの処理
else:
    その他の処理

このときのelese以降はいつも通り省略可能です。
またelifはelse+ifの短縮形で何個でも書けます。

第3章:論理演算

先ほどのif文に複数の条件のとき(aは3以上でbは20以下などの時)にはどうすれば良いのでしょうか?そんなときは論理演算と言われるおもにandやorを使って行われる演算をすれば良いです。

例)

このように5歳未満かもしくは70歳より大きいければ入場料500円で5歳以上かつ70歳以下ならば入場料1000円というプログラムを作ることも出来ます。ちなみにふつうにelif~:をelse:として実行しても問題ありません。(基本的にはelseで実行します)実際に実行してみると・・・

この様に思った通りの結果が出ます。


終わりに:

今回は長くなったのでここまでにします。次回はwhile文についてから説明したいと思います。この記事がいいと思ったらフォローよろしくお願いいたします。またPythonの練習をする時は実際にコードを自分の手でうって練習することをお勧めします。

この記事が気に入ったらサポートをしてみませんか?