Python3超入門【第5回】


はじめに

こんにちは!筆者の鹿丸です。前々回・前回ではPython3の文字列・タプル・辞書について学習しました。今回は条件分岐を学びます。尚、次回のPython3超入門【第6回】ではより応用的なif文の使い方を解説しております。

Python3における条件分岐その1

まずはif文(いふぶん)を学びましょう。

文法は以下の通りです。

if (条件式):
    条件がTrue(真)のときに実行される処理

Python3のif文では、条件がTrueまたがFalse(偽)のときに実行される処理は、必ず、インデント(TAB)を入れないとエラーになります。正しい書き方と間違った書き方を比較してみるのでイメージを掴んで下さいね。

尚、インデントとはキーボードの左の方にあるTabキーを押して入力する空白のことです。

正しい書き方。⇒インデント(TAB)が入っているので正常に動作します。

間違った書き方。

正しい書き方では、printの前にインデント(TAB)が入っていますね。「間違った書き方」のように、こうした空白を入れないと、エラーになってしまいます。

尚、>=というのは比較演算子といって、このプログラムの場合では、1と10を比較しています。>=は日本語の「以上」を表す比較演算子です。

10は1以上ならば、print文を実行し、そうでなければ何もしないという意味のプログラムです。

ちなみに、条件式を満たすことをTrue、条件式を満たさないことをFalseといいます。

是非、正しい方のプログラムをIDLEに入力して実行してみて下さいね。

さて、Python3の比較演算子は>=(以上)以外にもたくさんあります。下記に比較演算子の一覧を示します。暗記しなくても構わないので、なんとなく把握して下さればと思います。

比較演算子 意味
== a == b aとbは等しい
!= a != b aとbは等しくない
> a > b aはbより大きい
< a < b aはbより小さい
>= a >= b aはbと等しいかもしくは、aはbより大きい(「以上」と同じ意味)
<= a <= b aはbと等しいかもしくは、aはbより小さい(「以下」と同じ意味)

これらの比較演算子を駆使して条件式を書きます。

Python3における条件分岐その2

今度は、条件がTrueのときだけではなくFalseのときも、何かしらの処理を実行するプログラムを書いてみます。

文法は次の通りです。

if(条件式):
    条件式がTrueのときの処理
else :
    条件式がFalseのときの処理

elseはエルスと読みます。もし条件式を満たさなければ、「条件式がTrueのときの処理」をスキップして、elseの次の行にある、「条件式がFalseのときの処理」を実行します。

また逆に、条件式を満たして、「条件式がTrueのときの処理」が実行されれば、else以下の処理は実行されません。

サンプルコードを通じてイメージを膨らませましょう。

このサンプルコードは、「500円のお金を持って買い物にきたところ、みかんの価格600円だったので買えなかった」というものです。

実行結果は、「お金が足りなくてみかんが買えませんでした。」になります。

なぜなら、budgetは500、orange_priceは600で、比較演算子>=は、budgetとorange_priceが同じか、もしくは、budgetの方が大きいという意味なので、条件を満たしませんね。条件式の結果はFalseです。

従って、else:以下の処理だけが実行されます。

Python3の条件分岐その3

今度は、もう少し複雑なif文の条件分岐にチャレンジしてみましょう。

文法は以下の通りです。

if(条件式1):
    条件式1がTrueの場合の処理
elif(条件式2):
    条件式2がTrueの場合の処理
else:
    全ての条件式がFalseの場合の処理

条件式1がTrueならば、「条件式1がTrueの場合の処理」だけを実行し、その他の処理は実行されません。

条件式1がFalseならば、条件式2がTrueかFalseかを評価します。そして、それがTrueならば「条件式2がTrueの場合の処理」だけを実行し、それ以外の処理は無視されます。

そしてもし、条件式1も条件式2も、ともにFalseであれば、else:以下の「全ての条件式がFalseの場合の処理」だけが実行されます。

抽象的に説明しても、少しわかりにくいかもしれませんね。サンプルコードで確認してみましょう。

テストの点数によって、異なるメッセージが表示されるプログラムです。

100点ではないので、最初の条件式ではFalseになりますね。次のelifのところの条件式は60点以上であればTrueなので、この条件式は満たしていますね。従って、実行結果は、「合格点です。」と画面に表示される形になります。

尚、この場合、else:以下は無視されます。

おわりに

Python3超入門【第5回】にして、ようやくif文を解説することができました。まだまだ解説し足りないPython3におけるif文の使い方もありますので、次回も引き続きif文の解説をしたいと思います。

 

[PR]『入門 Python 3』

【広告】当サイトと併用することで学習効果倍増間違いなし!→Pythonスタートブック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA