【初心者向け】Pythonプログラミングにおけるif文の使い方と条件分岐の基礎解説
【初心者向け】Pythonプログラミングにおけるif文の使い方と条件分岐の基礎解説
今回は、このようなテーマで記事を書きました!!
執筆者の紹介
・大学3年生(21)
・プログラミングの基礎を執筆
本記事は、Part 4です!
これまでのPartで習っていない・出てきていない単語や関数などは使用していません
初心者目線でわかりやすく解説していきます!
Part1「文字列と数値」についてはこちら
Part2「変数の基礎と使い方」についてはこちら
Part3「str,intのデータ型と型変換」についてはこちら
よろしければPart順で見ていただくと理解しやすいかと思います!
みなさんのお悩み
ーーーーーーーーーーーー
・条件分岐ってどんなことができるの?
・if文にelseとelifの活用方法を知りたい!
・条件式を応用して使いこなそう!
ーーーーーーーーーーーー
こんな悩みを解決できる記事を用意しました!
この記事で紹介する「条件分岐」を理解していただければ、プログラミングPython初心者のあなたでもコードを書くことができますよ!
なぜなら、実際にボクもこの方法で条件分岐を使いこなせるようになったからです
記事前半では「条件分岐のif文」について、後半では「条件分岐の応用」について解説していますので、ぜひ参考にしてくださいね!
それではさっそく見ていきましょう!
if文の条件分岐を使いこなそう!
条件分岐(じょうけんぶんき)とは、プログラミングにおいて条件分岐は、ある条件によってプログラムの実行結果を分岐させるための構文です。
プログラミングでは、とある条件に当てはまるかどうかによって処理を分けることがよくあります。
例えば「テストの点数(条件)によって成績(処理)を変える」というのも条件分岐です。
一般的に、条件分岐には「if文」と呼ばれる構文が使われます。if文は、指定した条件式が真である場合に、その条件式に対応するブロックを実行します。
条件式が偽である場合には、elseブロックを実行します。また、条件式が複数存在する場合には、else ifブロックを挟んで複数の条件式を評価することができます。後に説明します
if文は、プログラム内で条件分岐を行う際に非常に便利な構文であり、プログラムのロジックを制御するためによく使われます。
プログラミングにおけるif文とは?
if文を用いると「もし○○ならば☓☓を行う」という条件分岐が可能になります。
if文は下の図のように書きます。
ifの後に条件式を指定し、その条件が成り立つときに実行する処理を次の行に書きます。
if文の内容を理解しよう
上の図の意味を説明します
スコア=100
もしスコアが100と等しかったら、(条件式)
「よくできました」と出力する
上記図ではスコアが100なので条件式が成り立ちます
よってコンソールには「よくできました」と表示されます
if文の条件の作り方を詳しく見よう
if文の条件部分は「if 条件式 :」のように書きます。
ここでの注意点です。条件式の行末の「:」(コロン)を忘れず書きましょう。
⚠︎「:」だけの書き忘れでも、コンソールには実行されずエラー表示が出てしまいます
条件式の中では、2つの値を比較するための記号「比較演算子」がよく使われます。
score == 100は左右の値が等しい時成り立ちます
逆に左右の値が等しくない場合は、
x != y ビックリマークとイコールを組み合わせて表します
プログラミングにおけるインデント
if文の条件式が成立した時の処理を書くときには、インデント(字下げ)をします。
図のように「よくできました」の出力[print(“よくできました”)]の文頭にスペースがありますね。
これがインデントです。半角スペース4つ分となっています
インデントを合わせると、処理がif文の中にあると判別されます。よって条件が成立したときにif文の中の処理が実行されるのです。
処理がif文の中にあるかどうかはインデントによって判別されるということですね。
インデント失敗例
こちらの図でインデントの効果を見てみましょう
スコアが100なのに対し、「もしスコアが100であれば」の条件式です
「よくできました」の出力[print(“よくできた!”)]はインデントされているので、if文の中にあると判別されています
「次も頑張りましょう」の出力[print(“次も頑張ろう!”)]はインデントされていないため、if文の外と見なされています
よって、コンソールにはインデントされている「よくできた!」のみが出力されています
インデントによって、処理がif文の中にあるかどうか判別されているのかが理解できたと思います。
Pythonではコードの見た目(インデント)がそのままプログラムの動作に影響するので、インデントに気をつけましょう。
もう少し、if文について詳しくみてみましょう!
プログラミングにおける真偽値
条件分岐によく使われるのが、真偽値(しんぎち)です。
真偽値とは、真(True)と偽(False)の2つの値のみをとるデータ型です。
比較演算子を用いて、2つの値を比較することで、条件式の部分が成り立つときは「True」、成り立たないときは「False」となります。
例えば、「6が3より大きいか」という比較式を評価すると、その結果として「True」が得られます。
⚠︎「True」と「False」のそれぞれの頭文字は大文字なので気をつけて下さい
if文と真偽値の関係性
真偽値とif文の関係性を見てみましょう
if文では条件式がTrueのときには処理が実行され、Falseのときには処理は実行されません。
例えば、「スコアが100と等しい」という条件式に対して、
スコアが100であれば、条件式が成立するため、真(True)となりコンソールに実行されます
逆に、スコアが50であれば、条件式が成立しないため、偽(False)となりコンソールには実行されません
プログラミングにおける比較演算子(<,<=,>,>=)
比較演算子(ひかくえんざんし)とは、プログラミングにおいて、2つの値を比較して真偽値(TrueまたはFalse)を返す演算子のことです。
この記事の初めに、値の等しさを比較する比較演算子「==」と「!=」という記号を学習しましたね
他にも値の大小を比較する記号でも使われています
以下は、よく使われる比較演算子の例です。
大小を比べる比較演算子
- x > y : 大なり演算子。xの値がyの値よりも大きい場合にTrueを返す。
- x < y: 小なり演算子。xの値がyの値よりも小さい場合にTrueを返す。
- x >= y: 大なりイコール演算子。xの値がyの値以上の場合にTrueを返す。
- x <= y: 小なりイコール演算子。xの値がyの値以下の場合にTrueを返す。
等しいか調べる比較演算子
- x == y: 等しい演算子。xとyの値が等しい場合にTrueを返す。
- x != y: 等しくない演算子。xとyの値が等しくない場合にTrueを返す。
これらの演算子を使うことで、プログラム上で複数の値を比較し、条件分岐などの処理を行うことができます。
このように比較演算子は、値の大小を比較する記号でも使われています
else : if文における条件に合致しない時の対処
if文を用いることで条件が成り立つ時の処理を行えるようになりました。
さて、次は条件が成り立たなかった時に別の処理を行うような条件分岐の書き方を学びましょう。
else を if文に組み合わせることで、「そうでなければ△△を行う」という条件分岐を加えることができます
If文の条件が、偽(False)であるとき、else の処理が実行されます
スコアが50なのに対し、
条件分岐は、「もしスコアが100と等しかったら」真(True)となります。
上記図のように、if文の条件が「False」の場合、elseの処理が実行されます。
コンソールには、「次頑張ろう!」が表示されていますね
⚠︎if文の行末・elseの直後に「:」コロンの付け忘れに気をつけましょう。
elif : if文における条件を複数定義
if文で、条件が成り立たなかった場合を複数定義したい場合は、「elif」を用います。
elif をif文に組み合わせることで、「△△ならば▲▲を行う」という条件をいくつでも追加することができます。
上記図のように、
スコアが100点だったら「よくできました!」
スコアが100点未満60点以上だったら「まあまあだ!」
スコアが60点に満たなかったら「次頑張ろう!」
と、上から順に条件が成り立つか判断され、最初に条件に合致した部分の処理だけが行われます。
今回の例だと、スコアは70点であるため、「スコアが100点未満60点以上だったら「まあまあだ!」」が適用され、コンソールには、「まあまあだ!」と出力されます
インデントも忘れずに!!
and : if文における条件式の組み合わせ
複数の条件式を組み合わせる方法を学んでいきましょう。
「and」は論理演算子の1つで、「条件1も条件2も成り立つ」というような場合の条件式は「and」を用いて、「条件1 and 条件2」のように書きます。
具体的には、2つの条件式が両方とも真の場合に「True」を返し、どちらかが偽の場合には「False」を返します。
「and」を用いて複数の条件式を組み合わせると、全ての条件式がTrueの場合に全体がTrueとなります。
上記の図の説明です
タイムが14に対し、
条件式は、タイムが10以上 and タイムが18未満 です
この条件式が「True」を返せば、コンソールには「就寝時間です」と出力されます
if文においてandを使わない書き方
上記の図と同じ条件式です
このように、2つの条件が両方とも真であるときにのみ実行する場合には、and演算子を使用することが一般的ですが、and演算子を使用しないで同様の動作を実現する方法もあります。
この方法は、複雑な条件を処理する場合に便利であり、可読性が高くなることがあります。ただし、条件が2つだけの場合は、and演算子を使用した方が簡潔である場合があります。
or : if文における条件式の組み合わせ
上記「and」とセットで覚えたい「or」
「or」は論理演算子の1つで、「条件1か条件2が成り立つ」というような場合の条件式は「or」を用いて、「条件1 or 条件2」のように書きます。
具体的には、複数の条件式のうち1つでもTrueであれば全体がTrueとなります。
「and」と同じ使い方です
not : if文における条件の否定
「not」を用いると、条件の否定をすることができます。真偽値を反転させる演算子です。
通常、真偽値は True と False の2つの値を取りますが、
「not 条件式」のようにすると、真偽値を反転させ、条件式が「True」であれば全体が「False」に、「False」であれば「True」になります。
上記の具体例は、タイムが9に対し、条件式は、「タイムが18でなければ」否定系になります
タイムは18ではないので、「True」を返し、「退社時刻ではありません」とコンソールに出力されます
最後までご覧いただきありがとうございました!!
・大学3年生(21)
・プログラミングの基礎を執筆
私の記事では、プログラミングの基礎知識から学習方法、具体的な演習までを包括的に解説しています。
初心者がプログラミングに興味を持ち、学びを始める上での大まかな流れを知ることができるように配慮し、わかりやすい言葉で解説しています。
また、オススメのWebサイトや参考書の紹介など、学習を進める上での役立つ情報も提供しています。
プログラミングにおける関連記事
Part0
”これからはじめるプログラミングPythonの魅力と初心者が押さえるべき3ステップ”
Part1
”【初心者向け】プログラミングPythonの文字列と数値の違いと基本の使い方 を解説 ”
Part2
”【初心者向け】Pythonプログラミング変数の基礎と使い方を具体例で解説!”
Part3
”【初心者必見】pythonプログラミングにおけるデータ型とは?基礎知識と種類を解説 ”
ぜひご覧ください!