Pythonの条件分岐!if・elif・elseを組み合わせて使いこなそう!

PRについて
※このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
スポンサーリンク
※このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
Pythonの条件分岐!if・elif・elseを組み合わせて使いこなそう! 初心者向け
Pythonの条件分岐!if・elif・elseを組み合わせて使いこなそう!
スッキリわかるPython入門

Pythonプログラミング初心者に向けて、条件分岐に用いるif・elif・elseを組み合わせる方法を解説します。

ごまこ
ごまこ

if・elif文の条件式の順番について勉強して、条件分岐のプログラムにも慣れてきました!
今日はどんな勉強をやっていくんですか?

ごまお
ごまお

これまで扱ってきたif文・elif文・else文を全部組み合わせてみます。
この3つを組み合わせると「複数の条件で条件分岐をしながら、どの条件にも合わない場合の処理を書けるんですよ!

else文の使い方は覚えているでしょうか?

if~elseを用いることで、「条件を満たした時の処理と、条件以外の処理」に分けることができました。

さらにelifも組み合わせて用いることで「条件を満たした時の処理を複数書けて、それらの条件を満たさなかった場合の処理」といった書き方ができます。

if・elif・elseの基本

これまでの内容を組み合わせるので、書き方は以下のようになります。

if 条件式①:  
    ・・・
elif 条件式➁:
    ・・・
#elifを追加すれば条件をさらに追加できます。
#上記の全ての条件式を満たさなかった場合
else:
    ・・・

上記のようにif・elif・elseを組み合わせて書くことができます。

最初のif文「if 条件式①:」の条件式①が満たされればif文内の処理が実行されて終了します。

条件式①を満たさなかった場合はelif文「elif 条件式➁:」の条件式➁が満たされればelif文内の処理が実行されて終了します。

さらに条件を追加したい場合はelifを追加して、同様に「elif 条件式③:」「elif 条件式④:」と書くこともできます。

最後に、上記の全ての条件式を満たさなかった場合にはelse文内の処理が実行されて終了します。

次に使用例を元に実践的な理解を深めましょう。

if・elif・elseの組み合わせ例1

それでは、実際にif・elif・elseを組み合わせたプログラムを見てみましょう。

# 変数numに1を代入
num = 1

if num == 1: #条件式①
    print("1位です!!おめでとう!!")
elif num == 2: #条件式➁
    print("2位です!!")
elif num == 3: #条件式③
    print("3位です!")
#上記条件を全て満たさなかった場合
else:
    print("メダル圏外です..")

#実行結果 1位です!!おめでとう!!

このプログラムではif・elif文において変数numが「1の場合(条件式①)」「2の場合(条件式➁)」「3の場合(条件式③)」となる場合の処理を書いています。

これらの条件式①~③を満たさなかった場合はelse文の処理が実行されます。

エラーなく実行できたら最初の変数numを変えてみましょう。
 ・num=1の場合は「1位です!!おめでとう!!」と出力されます。
 ・num=2の場合は「2位です!!」と出力されます。
 ・num=3の場合は「3位です!」と出力されます。
 ・numが上記以外の場合は「メダル圏外です..」と出力されます。

numの値によって、条件分岐がうまく動作したでしょうか?

また、numの値を変えながら動作を確認することで理解が深まったのではないでしょうか。

ごまこ
ごまこ

if文・elif文に加えてelse文を組み合わせた条件分岐を書くことができました。
これならかなり複雑な条件分岐のプログラムを書くことができそうです!

ごまお
ごまお

その通りですね!
続けて別の使用例を見て、もっと自由に条件分岐を書けるようになりましょう!

if・elif・elseの組み合わせ例2

それでは、別の例でif・elif・elseを組み合わせたプログラムを書いてみましょう。

animal = "seal"

if animal == "seal": #条件式①
    print("アザラシは可愛い!")
elif animal == "cat": #条件式➁
    print("ネコも可愛い!")
elif animal == "dog": #条件式③
    print("イヌは最高!")
#条件式を全て満たさなかった場合
else:
    print("動物みんな大好き!")

#実行結果 ネコも可愛い!

今度は文字列の値によって条件分岐を行っています。

このプログラムではif・elif文において変数animalが「"seal"の場合(条件式①)」「"cat"の場合(条件式➁)」「"dog"の場合(条件式③)」となる場合の処理を書いています。

これらの条件式①~③を満たさなかった場合はelse文の処理が実行されます。

エラーなく実行できたら最初の変数numを変えてみましょう。
 ・animal="seal"の場合は「アザラシは可愛い!」と出力されます。
 ・animal="cat"の場合は「ネコも可愛い!」と出力されます。
 ・animal="dog"の場合は「イヌは最高!」と出力されます。
 ・animalが上記以外の場合は「動物みんな大好き!」と出力されます。

animalの値によって、条件分岐がうまく動作したでしょうか?

ごまこ
ごまこ

文字列の比較でも複雑な条件分岐が書けました!
これまでの習った内容を組み合わせるとこんなに複雑な処理もできるんですね!

ごまお
ごまお

条件分岐についてもよく理解してもらえたみたいで良かったです!
でも、少し慣れてくるとインデントを忘れたりコロン(:)を忘れたりしがちです..
基本の文法を忘れないでほしいですね!
最後に、確認問題を解いてもっと理解を深めていきましょう!

それでは、これまでの内容を以下の問題でおさらいしてみましょう!

確認問題

num=30として変数を生成し、numの値によって以下のように条件分岐するプログラムを書いてみましょう。
 ・numが40以上の時、「40以上の数です」と出力する。
 ・numが15以上の時、「15から40までの数です」と出力する。
 ・numが0以上の時、「0から15までの数です」と出力する。
 ・numが上記の条件を満たさない時、「条件以外の値です」と出力する。

確認問題 解答

以下が解答例です。わからなかった場合は実際に自分で書いて理解を深めましょう。

"""
num=30として変数を生成し、numの値によって
以下のように条件分岐するプログラムを書いてみましょう。
 ・numが40以上の時、「40以上の数です」と出力する。
 ・numが15以上の時、「15から40までの数です」と出力する。
 ・numが0以上の時、「0から15までの数です」と出力する。
 ・numが上記の条件を満たさない時、「条件以外の値です」と出力する。
"""
num=30

if num >= 40:  
    print("40以上の数です")
elif num >= 15:
    print("15から40までの数です")
elif num >= 0:
    print("0から15までの数です")
else:
    print("条件以外の値です")

問題の順番に条件式を考えていけば問題ないですが、前回のif文・elif文の条件式の順番を覚えていれば理解しやすいと思います。

エラーなく実行できたら、変数numの値を変更して動作を確認してみましょう!

まとめ

今回はif・elif・elseを組み合わせる方法について解説しました。

コードを見てもイマイチ理解できない..といった方はこれまで解説した条件分岐についての解説でつまづきがあるのではないかと思います。

条件分岐はプログラムを書く上で無くてはならない考え方です。

そのため、つまづきポイントがあれば理解できるまで復習することがプログラマーに近づく一歩になるのではないかと感じます。

このサイトの記事一覧へは以下へアクセス!

Python2年生 デスクトップアプリ開発のしくみ
初心者向け
ゴマフリーダムをフォローする

コメント

達人に学ぶDB設計 徹底指南書

最短コースでわかる ディープラーニングの数学

あたらしい機械学習の教科書 第3版

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

タイトルとURLをコピーしました