▶ データ分析を基本から学びたい場合は、以下の記事も参考にしてください。
はじめに
ここまで「リスト型」「辞書型」「文字列型」「集合」と型を学んできました。今回は、Python初心者の方向けにif構文を基本から解説します。条件によって処理を分ける際に必須となる構文です。いくつかパターンがあるので、基本の形から整理していきましょう。
if構文
普段の生活でも条件によって、対応を変えることがありますよね。プログラムの中でも条件によって処理をわけることでできることの幅が広がります。さっそく見ていきましょう。
基本の形
まずはif構文の基本の形を確認しておきましょう。
if 条件式:
条件によって実行するブロック
for文の構造と似ていますね。1行目はifではじめて最後に「:」(コロン)を記載します。
2行目(以降)は、条件によって実行する処理を記述します。1行目の条件でTrueとなると、このブロックが実行されます。注意するのは、条件によって実行する処理は、if文の後にインデントして記述します。このインデントによって条件によって実行する処理の範囲を示しているのです。
まず、変数numberに値をいれておきましょう。
number=98
次にこの変数の値が90以上であった場合に、「高得点です」と表示するコードを書いてみましょう。次のようにします。
if number >90:
print('高得点です')
あらかじめnumberには「98」をいれていたので、1行目のif文の条件式はTrueとなり、2行目が実行されますね。結果を見てみましょう。
高得点です
ちゃんと想定した結果になっていますね。
else文のある形
基本形では、指定した条件を満たしたときに次のブロックを実行することができました。条件を満たさないときには、別の処理を実行したいときもあるでしょう。このように条件を満たさなかったときに実行する処理を指定するのがelse文です。次の形で使います。
if 条件式:
条件を満たすときに実行するブロック
else:
条件を満たさなかったときに実行するブロック
簡単ですね。先ほどの基本形の後にelse文が続いただけです。こちらも実行例をみておきましょう。
if number == 100:
print('満点です')
else:
print('満点ではありません')
numberには先ほどと変わらず、98が入っています。まず、1行目でnumberが「100」であるかを判定しています。「==」は比較演算子で、左右の値が等しいかどうかを判定します。この場合だと、左側のnumberに入っている「98」と右側の「100」を比較しています。等しくないのでこの条件式の判定結果はFalseとなります。
if文の条件を満たさなかったときに実行するのが、else文の下にあるブロックです。今回は4行目のブロックですね。期待通りの動きとなるか見ておきましょう。
満点ではありません
これも想定通りの処理となっていることが確認できました。
elif文のある形
最後にelif文のある形を見ておきましょう。ここまでは、1つの条件式があって、
「条件を満たしたときの処理」
「条件を満たさなかったときの処理」
を定義していました。ただ、実際に条件によって処理を分ける場合には、複数の条件があることもあるでしょう。このように複数の条件を持たせて、条件分岐の処理をおこなうときに使うのがelif文です。
次の形で使います。
if 条件式1:
条件式1を満たすときに実行するブロック
if 条件式2:
条件式2を満たすときに実行するブロック
else:
条件1,2を満たさなかったときに実行するブロック
ここでは条件1,2としていますが、elifを使えば条件はいくつでも増やすことができます。また、if文の基本形のように、最後のelse文はなくても構いません。条件を満たさなかったときに実行する処理がある場合は、このelse文を書くようにしてください。
これも例を見ておきましょう。
if number == 100:
print('満点です')
elif number >=90:
print('高得点です')
elif number >= 80:
print('合格点です')
else:
print('不合格です')
今回の例ではnumberには「98」が入っているので「高得点です」と表示されますが、numberをいろいろ値を変えて実行してみてください。
まとめ
いかがでしたか?条件分岐もパターンを整理してしまえば、なにも難しくありませんね。ここまでで、リスト、辞書、文字列、集合という基本的な型に加えて、ループ処理をするfoe文、条件分岐をするif文を学びました。これらを組み合わせるだけでも、かなりいろんなことができます。
▶ 少しコードを書いて慣れておきたい場合は以下も参考にしてください。
▶ if文とfor文の組み合わせ、break文やcontinue文を組み合わせた処理については以下を参考にしてください。
▶ データ分析を基本から学びたい場合は、以下の記事も参考にしてください。
コメント