今回は、pythonの「if文」について一緒に学んでいきましょう。
if文とは、簡単に説明すると分岐するためのツールです。
分岐といわれるとなんとなく難しいイメージかもしれません。
考え方としては、
“こういう場合はこうする。“
“そうでない場合はこうする。“
なんて感じ。
いつも決まった計算などする場合をのぞいて、
if文はとても重要なツールです。
それでは早速やってみましょう。
Youtubeチャンネルにさまざまな動画を上げています。
↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓
pythonのif文の基本構文
pythonのif文の基本構文は、こんな感じ。
if 条件式:
インデント 条件式がTrueだったら実行されるところ
条件式やインデントについては次のとおりです。
条件式
条件式には、論理演算子やTrue、Falseといった論理型をつかいます。
具体的には、
if True: if x<3:
のようにして使います。
xは変数です。
Trueになれば実行されるので、上のTrueはつねに実行される。
インデント
インデントとは、目印のようなきまりです。
ここをいい加減にしておくとエラーだらけになってやる気が失せること間違いなし。
コツとしては、:を打ってEnterキーを押した位置から変えないこと。
ちょっと右寄りのところから自動的に始まるはずなので、
そこからBackSpaceするとこんな感じでエラーになります。
IndentationError: expected an indented block
見た目上そんなにかわらないのに…
決まりは決まりなので気をつけましょう。
if文の条件式の作り方
if文の例としては、こんな感じ。
内容としては、inputされた数字が20未満の場合と
20歳以上とで分岐させています。
oldSTR=input('あなたの年齢を数字で打ち込んでください。') old=int(oldSTR) if old<20: print('あなたは未成年です。') else: print('あなたは成人しています。')
input関数ってなにって方は、こちらの記事にかいています。
打ち込まれた数字はstring型である点も注意。
else:ってなに?という話ですが、
elseは「条件式がTrueにならなかったら実行」されるところです。
つまり、数字を入力されたらどちらかのprintは実行される。
分岐の分岐【elif】
ただ、TrueかFalseに2通りだけではないパターンって必ずあります。
例えば年齢を層別にしてみるとか。
そんなとき、if文だけではたりませんよね。
いわゆる分岐のあとのさらなる分岐です。
年齢を層別にしてみるとしたらこんな感じでしょうか。
oldSTR=input('あなたの生まれた西暦を数字で打ち込んでください。') old=int(oldSTR) if old>1995: print('あなたはZ世代') elif old>1980: print('あなたはY世代') elif old>1965: print('あなたはX世代') else: print('あなたはX,Y,Z世代ではありません')
if文の上から判定していき、Trueになった時点で実行されます。
elseまで行って実行されるような条件がなかった場合は、
elseのなかが自動的に実行されます。
elifを永遠につなげることも可能ですが、逆に読みづらくなったり、
計算が遅くなってりすることもあるので注意。
条件式につかう演算子
条件式に使われる演算子は、次のようなものがあります。
演算子 | 使用例 | Trueになる条件 | Falseになる条件 |
---|---|---|---|
== | a==b | aとbが同じ値 | aとbが異なる値 |
!= | a!=b | aとbが異なる値 | aとbが同じ値 |
is | a is b | aとbが同じオブジェクト | aとbが異なるオブジェクト |
is not | a is not 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以下 | aがbより大きい |
in | a in b | aがbの要素 | aがbの要素でない |
not in | a not in b | aがbの要素でない | aがbの要素 |
どれもよく使いますが、2文字使う場合の演算子(たとえば>=)なんかは、
たまにどっちが=先だっけとなることも…
入れてみてエラーにならないほうが正解なんですけどね!
アプリケーションで大事なフローチャート
何かアプリケーションを作る場合、
必ずフローを考えないといけません。
「こんなときどうするか?」って感じ。
思いつく限り出してみて、”こうしよう”と決まったら
あとはif文を使って分岐していけばいいです。
Excelの図形でフローチャートがありますが、
if文はその中のひし形にあたります。
条件式に当てはまるか当てはまらないかで分岐する。
アプリケーションだけにとどまらず、
フローを考えるときには重要なツールなので、
ぜひif文の考え方をマスターしましょう。
コメント