Python3超入門【第6回】


はじめに

前回のPython3超入門【第5回】ではif文による条件分岐を学習しました。今回も引き続きif文の使い方をご説明致します。けっして難しい内容ではありませんが、Python3独自の文法表現に慣れるようにしていただければと思います。

関連リンク:Python3超入門【第5回】

if文の中にif文を入れる場合

このプログラムは、まず学生証を持っているかを確認し、その上で赤点の40点以下に該当するかどうかを判別するプログラムです。もしtest_scoreが40点や30点の場合は何も表示されません。

この場合、実行結果は「学生証が確認できました。あなたは赤点ではありません。」となります。

このプログラムのミソはif文の中にさらにif文を設置している点です。

こうしたif文の使い方をif文を【入れ子】にして使うなどと表現します。

もちろんもっとif文を入れ子にして使うことも可能です。例えば以下のPython3のサンプルプログラムをご覧になって下さい。

まずはじめに、学生証の確認をし、次に赤点かどうかを判断し、最後に80点以上かどうかを判断していますね。

実行結果は「学生証は確認できました。80点以上なのであなたの成績はAです。」と画面に表示されます。

プログラミングをしていく上でif文を入れ子にした方がいい場面も出てくるので参考にしてみて下さい。

複雑な条件式のif文

お次は条件式の部分がちょっとだけ複雑になった場合の書式とサンプルを学びましょう。複雑といっても簡単なので安心して下さいね!Python3では複数の条件式を指定して、より高度な条件式を作成する場合、andorを用います。

書式(andを用いて複数の条件式を記述)

if((条件式1) and (条件式2)):
   条件式1・条件式2の両方が満たされた場合(両方ともTrueの場合)実行される処理

書式(orを用いて複数の条件式を記述)

if((条件式1) or (条件式2)):
             条件式1・条件式2のどちらか一方がTrueの場合に実行される処理

サンプルコード1(andを用いて2つの条件式をつなげた場合)

このサンプルコードの条件式では、andで接続された2つの条件式がどちらともTrueの場合に、直下のPrint文が実行されます。条件は、「gakuseisyouがTrueでかつ、test_scoreが75点以上ならば」となっているので、どちらともTrueですね。従って、print文が実行されます。つまり実行結果は「学生証を確認しました。テストの成績は75点以上なのでAです!」と画面に表示されます。

サンプルコード2(orを用いて2つの条件式をつなげた場合)

test_score_englishは英語の点数を表しています。test_score_mathは数学の点数です。今回は、英語か数学のいづれか1科目でで60点以上をとれば合格にする。というプログラムです。

test_score_english >= 60はTrueですね。一方、test_score_math >= 60はFalseですね。2つの条件式をつないでいるのがorなので、どちらか一方の条件式がTrueならば、直下のprint文が実行されますね。従って実行結果は、「英語か数学のどちらか一方で60点以上とっているので合格です!」と画面に表示されます。

 

さて、複雑な条件式のif文と題しまして、andとorで条件式をつないで、より複雑な事柄を判断する条件式の書き方を学びました。実際にPython3でプログラミングをする上でしょっちゅう使う機能なので、しっかりおさえて下さいね。

それでは「複雑な条件式のif文」の最後に、もう少しこみいった条件式のサンプルコードを紹介したいと思います。

サンプルコードの条件式が()だらけですが、()の対応関係に注意してよく観察してみて下さい。

サンプルコード3(andとorを併用して作るより複雑な条件式)

test_score_englishは英語の点数です。test_score_mathは数学の点数です。test_score_japaneseは国語の点数です。

そして条件式は、国語の点数が70点以上でかつ、英語もしくは数学の点数が60点以上ならば合格!という意味です。

括弧がたくさん入り混じっていてわかりにくいと思うので括弧の対応関係を色分けしてみました。

((条件式1) and ((条件式2) or (条件式3))):

括弧の対応関係は掴めましたかね?

こんな感じにandとorを併用して、より複雑な条件式を書くこともできます

尚、国語の点数が70点以上で、かつ、数学もしくは英語で60点以上をとれば合格なわけですから、結果は合格になりますね。従って実行結果は、「合格です!」と画面に表示される形になりますね。

おわりに

今回は、前回のPython3超入門【第5回】に続いて、Python3における、様々なif文のパターンを紹介しました。Python3で用いられるif文のパターンについてはPython3超入門【第5回】と【第6回】で一通り解説できたと思います。次回は「繰り返し処理」をご紹介いたします。

はじめてプログラミングを学習される方は、前回と今回のif文については、曖昧な点を残さずに、しっかりと身に着けて下さいね。Python3に限らず、あらゆるプログラミング言語に共通した、プログラミングの基礎中の基礎の部分ですので!

では次回もどうぞよろしくお願い申し上げます。

筆者・鹿丸

【関連記事】

トップページへ戻る

 

あわせて読みたい