コース: プログラミングの基礎:基本

条件を判定する

コース: プログラミングの基礎:基本

条件を判定する

現実の世界では、 人は常に現在の状況に基づいて 判断しています。 雨が降っていたら、 傘を持っていきますし、 眠ければコーヒーを飲むといった具合です。 コンピュータが意思決定を行う もっとも一般的な方法は If 文によるものです。 このコースの前半で If 文の例を見てきましたが、 もっと詳しく説明しましょう。 If 文は一般的に次のような 構造になっています。 まず、If というキーワードで始まります。 次にある条件をチェックし その条件が真であれば、 その中に置かれた文を実行します。 視覚化してみましょう。 フローチャートのように 条件をチェックし それが真であれば、 プログラムは文を実行するように 進むと考えてください。 つまり、もし条件が真であれば、 プログラムはその文を実行します。 もし、そうでなければ、 それらの文は存在しないかのように 無視されます。 これは Python の If 文の簡単な 例です。 まず、If というキーワードで始まり 5が6より小さいという条件式があります。 次にコロンがあります。 これは構文の一部です。 そして、次の行には字下げされた コード行があります。 この行には条件が真である場合に実行される print 関数が含まれています。 Python の字下げは非常に重要で、 interpreter にどの文が If に属するかを知らせます。 プログラミングではこのように グループ化された文を ブロックと呼びます。 この例では、ブロックの中に ひとつしか文がありません。 けれども、このように 簡単に拡張することができます。 これでブロックには2つの文が 置かれました。 Python では、ブロックは 字下げされていない行に来ると すぐに終了します。 この新しい print 関数は 字下げされていません。 ですから、これは前の If 文の ブロックの一部ではありません。 VS コードを使って 04_02.py の エクササイズファイルの例を 見てみましょう。 このコードには見覚えがあるはずです。 これは以前使用した If 文を含むコードです。 早速実行して出力を 確認してみましょう。 ターミナルで Python ファイルを 実行します。 まず、「あなたの名前は?」と 聞かれます。 「ともこ」と入れます。 そして、「コースは 楽しいですか?」と聞かれるので 「はい」と入力します。 すると、「それは良かったです。」と 文の終わりが出力されます。 もし「はい」以外を入力したら どうなるかも見てみましょう。 もう一度このコードを実行してみましょう。 再度、名前を聞かれるので、 「ともこ」と入力します。 そして、「コースは楽しいですか。」と 聞かれるので、 「まあまあ」と入力します。 すると、最後の1文だけが出力されます。 何が起こったかわかりました? 文の終わりだけが出力されたのは、 If の中のコード行が 無視されたからです。 つまり、あの「まあまあ」は 偽だと判定されました。 この If が処理できるのは、 「はい」という答えだけで 「まあまあ」は確かに 「はい」と等しくはありませんね。 先ほど述べた適切な字下げの 重要性を思い出してください。 もし、If 文のコードを適切に 字下げしなかったら どうなるかを見てみましょう。 9行目を変更して 試してみましょう。 9行目の print 関数の前の スペースを削除してください。 VS コードが赤い破線で エラーを知らせていますね。 保存して実行してみましょう。 今度はエラーが出ました。 インデントエラーです。 インデントとは字下げのことです。 Python では、If の次の行は インデントする決まりです。 そして、インデントしている行は すべて If に属すると判断しています。 Python の標準では、 インデントには半角スペース 4文字を使います。 では、コードに戻って タブキーを押して スペースを4つ追加してください。 タブを入力すると、 VS コードが自動的に スペースに変換してくれるので とても便利です。 このように If 文を使うと プログラムの実行中に 異なる経路を通ることができます。 今まで上から下へ、1行ずつ 処理していくだけでしたが、 それではつまらないし、 ユーザーの指示をプログラムに 伝えることもできませんね。 If 文を学習したので、 何らかの条件に基づいて 処理を切り替える方法がわかりました。 これからはより面白いプログラムを 書くことができますね。

目次