AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  pythonの「if」を使おう!条件分岐の書き方を徹底解説

公開日:2020.09.21 

pythonの「if」を使おう!条件分岐の書き方を徹底解説

プログラミング

 

こんにちは、AI研究所です。
今回はPythonのifについて徹底的に解説して行きます!

python ifについて理解して条件分岐の書き方の基本をマスターしよう

Pythonについて学ぼうと思ったときに「python if」とは何かがわからずに悩んでしまうことがあります。
Pythonによるプログラミングでは基本となるものの一つですが、考え方からよくわからずに困っている人もいるでしょう。
この記事ではサンプルプログラムも交えてifを使った条件分岐について紹介します。
基本をマスターしてプログラミングスキルを高めましょう。

python ifとは何?

python ifとはPythonによるプログラミングにおけるif文のことを指します。
世の中には色々な種類のプログラミング言語があり、言語によってスクリプトの記述のフォーマットには違いがあります。
ただ、プログラムを記述するときの基本的な考え方には共通している部分が多くなっています。
if文を作成することによって複雑なプログラムを作成していくという考え方はほぼ全てのプログラミング言語に共通している点で、Python以外でプログラミングをしてきた人ならpython ifと言われて何を意味しているかが直感的にわかるでしょう。
そのくらいプログラミングをする上では普遍性があって基本になるのがif文です。
ただ、if文の記述の仕方はプログラミング言語によって異なっているため、Pythonで記述するためにはpython ifについて理解しなければなりません。

if文とは何か

python ifについて把握するためにはif文とは何かがわかれば良いということがわかったでしょう。
if文とはプログラムの中で条件分岐を設定するときに使用する文を指します。
簡単なプログラムをイメージしてどういう意味かを具体的に考えてみましょう。
例えば、リンゴを買いたいというときに、1個100円以上だったら高いから買わないけれど、100円未満だったら買いたいと思うことがあるでしょう。
このような考えでスーパーに行って売り場を見てみたら95円と表示されていたので購入したというシーンを考えてみます。
この際に人間の頭の中では条件分岐をして買うか買わないかの意思決定をしているのが特徴です。
売り場にあるリンゴの値段を見て95円と認識し、それが自分が定めた買うか買わないかの条件である100円以上、100円未満のどちらに該当するかを考え、最終的には100円未満に該当するから買ったという形になっています。
もう少しプログラミングに近い言葉で例を考えてみましょう。
キーボードから入力された数字が10より大きい場合には「10より大きい」と表示し、10以下の場合には「10以下」と表示したい場合があるとします。
キーボードからの入力を受け付けた後、入力結果を変数に格納したらコンピューターに10より大きいか、10以下かを判定させて、その結果に応じて違うプログラムを走らせなければなりません。
このように条件によってプログラム上に分岐を作ることを条件分岐と言います。
if文では基本的には条件式を与えることにより、それがTrueかFalseかに応じて違うプログラムを実行することができる仕組みになっています。
この使い方がわかると条件に応じてコンピューターに異なる処理を行わせることができるため、Pythonプログラミングによってできることが飛躍的に広がるでしょう。

条件分岐について詳しくなろう

実際にPythonでif文による条件分岐をするにはどのようなスクリプトを書いたら良いのでしょうか。
Pythonでは単純なif文に加えて、if…else文、if…elif…else文も条件分岐として使用することが可能です。
それぞれについてサンプルプログラムを見ながらどのような条件分岐ができるのかを理解しましょう。

if文

例えば、リンゴの値段が100円未満なら「りんごを購入する」と表示するプログラムを考えてみましょう。
if文を使うと以下のようなプログラムを作ることが可能です。
price = 95
if price < 100:
print(“”りんごを購入する””)
このプログラムをそのまま実行すると「りんごを購入する」と表示されますが、priceを105に設定すると何も表示されません。
つまり、ifの後に続く式が正しい場合には表示され、誤りの場合には表示されない仕組みです。
このようにpriceの数値の大きさ次第で「りんごを購入する」と表示するかどうかを判断させることができます。

if…else文

if…else文のelseは他の場合を意味する英語です。
そのため、if…else文を使うと条件を満たした場合だけでなく、満たさなかった場合についても別の処理を行えるようにできます。
例えば、リンゴの値段が100円未満なら「りんごを購入する」と表示し、そうでない場合には「りんごを購入しない」と表示するプログラムを考えてみましょう。
if…else文を使うと以下のようなプログラムを作れます。
price = 95
if price < 100:
print(“”りんごを購入する””)
else:
print(“”りんごを購入しない””)
この場合にはpriceが100未満という条件を満たすので「りんごを購入する」が表示されます。
しかし、priceを105にすると100未満という条件を満たさなくなり、else以下の「りんごを購入しない」が表示されるというのがこの条件分岐です。

if…elif…else文

if…elif…else文は複数の条件分岐を行えるのが特徴です。
elifとはelse ifの略で、「前の条件を満たさなかったときに以下の条件を満たすなら実行する」という意味を持ちます。
例えば、リンゴの値段が80円未満なら「りんごを3個購入する」と表示し、100円未満なら「りんごを2個購入する」、120円未満なら「りんごを1個購入する」、そうでない場合には「りんごを購入しない」と表示するプログラムを考えてみましょう。
price = 95
if price < 80:
print(“”りんごを3個購入する””)
elif price < 100:
print(“”りんごを2個購入する””)
elif price < 120:
print(“”りんごを1個購入する””)
else:
print(“”りんごを購入しない””)
この場合にはpriceが80未満という条件を満たさないので「りんごを3個購入する」とは表示されません。
elif以下のpriceが100未満を満たすので「りんごを2個購入する」と表示されます。
そして、この時点でこのif…elif…else文による処理が終わるため、「りんごを1個購入する」とも「りんごを購入しない」とも表示されません。

演算子について詳しくなろう

Pythonでif文を使いこなせるようになるためには演算子についても詳しくなることが必要です。
ここまで「<」という比較演算子を使ってきました。
実はここで使用した「price < 100」はpriceの数値が100未満なら「True」となり、100以上なら「False」となる演算を行うことを指示しています。 その結果に従ってif文ではTrueなら次の行からの内容を実行するという判断をしているのです。 このようにTrueかFalseかを返す演算子を比較演算子と言います。
他にも「==」で等しいかどうかを比較したり、「!=」で等しくないかどうかを判断したりすることなど、色々なことが可能です。
また、「and」「or」「not」という論理演算子もpython ifでは使用可能です。
andは両方ともTrueならTrue、orはどちらか一方がTrueならTrue、notはTrueならFalseを返し、FalseならTrueを返します。
このような演算子を使ったプログラムを見てみましょう。
以下のように記述するとpriceの数値設定に応じて違う出力が行われます。
100円ぴったりだったら「買うか悩む」、100円より高ければ「買わない」、100円未満で80円以上だったら「1個買う」、それ以外なら「2個買う」というプログラムです。
price = 95 if price == 100: print(“”買うか悩む””) elif price > 100:
print(“”買わない””)
elif price < 100 and price >= 80:
print(“”1個買う””)
else:
print(“”2個買う””)

if文を使いこなせるようになろう

Pythonでは他のプログラミング言語と同様にif文による条件分岐ができます。
ifに加えてelifとelseも使い、比較演算子と論理演算子を組み合わせると様々な条件分岐が可能です。
プログラムの幅を広げるためには欠かせないのがif文なので基本としてマスターしましょう。
使いこなせるようになるとPythonのスキルも一層向上していくようになります。


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加
AI(人工知能)セミナー開催中