【ラズパイ初歩_Python】ifの使い方

出窓に本とコップの画像 Python初歩
Python初歩ラズパイ

ラズパイ(ラズベリーパイ)を使ってPythonで簡単なプログラムをつくるときに避けては通れないコマンドです。たとえば、ラズパイに温度・湿度センサーを接続して、測定した値に応じてLEDを点灯する方法においては、

もし、温度が○○度以上ならば、赤LEDを点灯させる

ということを行っており、if~then~で○○を条件にして△△を実行させるという使い方は非常に多いです。この文法なくして、プログラムはつくれない、と言っても良いのかもしれません。今回はその使い方を紹介します。

はてなマーク

”xがyと等しければ実行する”

ということをやってみましょう!簡単です!

”if”を使って、xが10であれば、OK!と表示する

基本的な使い方は非常に簡単です。xがyと同じであれば、○○を実行しなさい、というコマンドを作ってみましょう。具体的には、”xが10”だったら、”OK!”と表示しなさい、という例でやってみましょう。まずは条件を定義します。”xが10”だったら、は次のようなコマンドを打ちます。

if x == 10:

ここで注意が必要なのは、”==”となっていて、イコールが二つ並んでいるところです。これで”xが10だったら”という意味になります。

補足 xが10でなかったら、、、とするには?

では、”xが10でなかったら”という条件式をつくるにはどうすれば良いのでしょうか?

if x != 10:

となります。”!=”は”○○でない”を意味します。他にも演算式は色々あります

x > 10 xが10よりも大きい
x >= 10 xが10以上
x < 10 xが10よりも小さい
x <= 10 xが10以下
などなど

本題に戻ります。”xが10であれば・・・”については完成しました。次に実行させるコマンドを打ちます。次の行に”TABキー”で空白を作ったうえで、実行させるコマンドを入力します。ここでは”OK”と表示させるためにprintコマンドを次のように使います。

    print("OK!")

これでもし、xが10であれば、”OK!”と表示させることができます。非常に簡単です。

”if”は数字以外にも使える

ifコマンドは数字の比較以外にも使うことができます。

文字の検索

ある文章の中に何か文字が含まれている場合は、○○を実行する、という使い方ができます。”if”の使い方は同じです。たとえば、”abcdefghijklmn”という文字列の中に”hij”が含まれていたら、”OK!”と表示させる場合について説明します。数字の時に”==”などを使いましたが、”in”を使います。このような使い方です。

if "hij" in "abcdefghijklmn"

これはhijが含まれているので次の行のコマンドを実行します。

else: 条件に当てはまらなかった場合に実行させる場合に実行

さきほどの例ではxが10であれば実行としましたが、xが10でなかった場合にはどうすればよいでしょうか?その場合には、”else:”を使うことで条件に当てはまらなかった場合には、elseのあとを実行しなさいとなります。たとえば、xが10だったらOK!と表示し、そうでなかったら”NG!”と表示しなさい、というコマンドは以下のとおりです。

if x == 10:
    print("OK!")
else:
    print("NG")

これだけなんです。簡単なんです。

elif さらに、条件を追加したい場合

ifを使うと、条件を追加したい場合があります。そのような場合には、elifを使います。使い方としては、こんな感じです。たとえば、xが10であればOKと表示し、xが10を超える場合には”very good!”と表示し、いずれにもあてはまらない場合、すなわちxが10未満の場合は、”NG!”と表示させます。

if x = 10:
    print("OK!")
elif x > 10:
    print("very good!")
else:
    print("NG!")

このように使います。

以上で、ifならびにifに関連するコマンドの紹介は終わりです。

まとめ

これをいくつも組み合わせれば、部屋の温度に応じてLEDを点灯させたり、消灯させるのも簡単です。単なる組み合わせでしかないからです。色々と試してみてください。

pythonなどのプログラムを学ぶときには、横に本を置いて読みながら勉強すると進みが早いです。webで調べると行ったり来たりが多くなるのに比べて、横で見ながらできて比べながら進めることができます。特に↓の本は初心者でも分かりやすく書いてある本なので、初心者の人におすすめです。

コメント