こんにちは。IT/経済ジャーナリストで投資家の渡辺です。
今回はいよいよif文を使って、コンピュータに判断させ、その内容によって
プログラムの基本的な流れは、前回同様、入力→処理→出力です。
今回は「処理」の部分を少し膨らませて、場合分けの処理をさせてみます。
流れを図にすると、以下のような感じです。
入力された数値(文字の場合もあります)を調べて、ある条件ならA(上の流れ)、そうでなければB(下の流れ)へ分かれます。
このような処理を「条件分岐」といいます。
ようやく、コンピュータのプログラムらしくなってきました。
テストの点数をif文でチェックしたら?
何か変数の中身を調べるときは、if文を使います。
ご存じの通り、英語で「もしも〜ならば」という意味ですが、「もし〜ならば、何をしろ」とプログラムの流れを変える時に使います。
たとえばキーボードからテストの点数 point を入力させて、70点以上なら合格という処理を書いてみます。
# coding: utf-8
point = int(input(“点数を入力:”))
if point >= 70:
print(“合格です”)
2行目のinput()文のところで、少し特殊な処理をしているので、少し説明しますね。
まずinput()文でユーザーにキーボードから文字入力してもらいます。
この文字を、さらにint()関数でくくっています。
これによって、1行のコードで、1)文字入力と2)入力された文字の整数への型変換ができるのでした。
このように複数の処理を入れ子にすることができます。
(最終的に整数となる)
これ以降は、変数pointを整数として判断したり計算させることができます。
実際に上記の青字の部分をPyCharmに打ち込んで、「Run ‘study00’」で実行してみてください。
この時、キーボードから70点以上を入力してみたり、70点より低い点数を入力して、どのように結果が変わるか確認してみてください。
70点以上だと「合格」と表示されるでしょうか。
とりあえず、等しい、等しくない、大小、以上以下を覚えればOK
ifの次には、数式が入ります。
ここでは、pointという変数の中身を見て、70点以上かをチェックしています。
ここでのチェックのやり方は実はけっこういろいろできますが、まずは(次の表のように)、等しい、等しくない、大きい、小さい、以上、以下の6種類を覚えておけば、最小限のプログラムは作れます。
使い方 | 意味 |
x == 100 | 変数xが100と等しいなら実行(=は2つ続ける) |
x != 100 | 変数xが100と等しくないなら実行(!マークで否定) |
x < 100 | 変数xが100より小さいなら実行(100は含まない) |
x > 100 | 変数xが100より大きいなら実行(100は含まない) |
x <= 100 | 変数xが100以下なら実行(100も含む) |
x >= 100 | 変数xが100以上なら実行 (100も含む) |
ある一まとめの処理はインデント(字下げ)する
もう1つ、知っておいて欲しいのは、あるまとまった処理をさせるところでは、Pythonではインデント(字下げ)するということです。
if point >= 70:
print(“合格です”)
if文の中身は、条件に合った場合だけ、処理するものです。
そのため、インデントすることで、プログラムの中核となる流れではないことを示す必要があるわけです。
インデントは好みにもよりますが、3文字、5文字、7文字といった間隔だったり、4文字、8文字と4の倍数でやればいいと思います。
複数の場合でもOK
if文は場合分けの基本ですが、「もし●●なら処理Aを、そうでなくて○○なら処理Bを、それでもなくて○●なら処理Cを、どれにも当てはまらないなら処理Dを」というように、細かく場合分けすることができます。
「もし」はifですが、「そうでなくて●●なら」はelif、どれもNGで「そうでなければ」はelseとなります。
elifってなんだよ、ティッシュペーパーか、と思うかもしれません(思わないか・・・)。
これはelse ifの略で、else=それでなくて、if=もし何なら、という意味です。
たとえばテストの成績が100点なら「満点」、80点以上なら「優」、70点以上なら「良」、60点以上なら「可」、それ以下なら不合格というプログラムを作ってみましょう。
先ほどのコードのif文の部分を、こんな風に変えてみてください。
if point == 100:
print(“満点”)
elif point >= 80:
print(“優”)
elif point >= 70:
print(“良”)
elif point >= 60:
print(“可”)
else:
print(“不合格”)
青字の部分をPyCharmに打ち込んだら、またまた「Run ‘study00’」で実行してみてください。
この時、キーボードからいろいろな点数を入力して、指定通りの結果が出るかチェックしてみてください。
if文が使えると、いろいろ複雑な処理をコンピュータにやらせることができます(面倒な仕事の自動化に向けて大きく前進しました!)。
<今日の要約ノート>
if文の後ろに ==(等しい)、!=(等しくない)、<, >(大小)、<=, >=(以上、以下)を組み合わせることで、変数の内容をチェックし、条件によって処理内容を分岐させることができる。ifだけでなく、elifでいくつもの条件を続けてチェックしたり、どれも当てはまらない場合はelse: で処理させることもできる。if文の最後は「:」で閉めること。
コメント
[…] ・少し後ろに下げたif文でコンピュータに判断させる […]