はじめに:プログラムにも「もしも」が必要だ!
こんにちは、くぴです!『39歳からのPython学習ノート』へようこそ!
前回、変数やリストという「データの入れ物」について学びました。今回は、プログラムにもっと「賢さ」を与えるためのステップ、「もし○○だったら××する」という『条件分岐』に挑戦してみました! これをPythonではif
文(イフぶん)って言うらしいです。
正直に言うと、前回の変数やリストより、今回のif
文の方が「文章」みたいで、僕にとってはスッと理解しやすかったです!「なるほど、人間が考える『もしも』と同じ感じか!」と。
今回は、そんな僕が学んだif
文の基本的な使い方と、実際にコードを書いてみて「お!」と思ったこと、そしてやっぱりやらかした(笑)注意点などをまとめてみます!
コンピューターに判断させるって?:if文の基本
if
文は、ある「条件」が正しい(True)か、間違っている(False)かを判断して、正しかった場合だけ特定の処理を実行させる命令です。「もし雨なら、傘を持つ」みたいな感じですね!
基本的な書き方はこれ。
Python
if 条件式:
# 条件式がTrueの時に実行したい処理
# 【重要!】行頭をスペース4つ分下げる!(インデント)
print("条件に合いました!")
print("ここはif文の外なので、条件に関係なく実行されます")
if
の後に「条件式」を書いて、最後にコロン:
を忘れずに!そして、条件が合った時に実行する処理は、必ず**インデント(字下げ)**するのがPythonのルール。これ、本当に大事みたいです。
それと、この公式みたいなコードですが、この段階だと意味が分かりませんが、コードを書いてて迷ったとき、上のコードを見直すとものすごく理解が進みます!
条件ってどう書くの? 比べるための記号たち
条件式では、「〇〇と△△は等しい?」とか「〇〇は△△より大きい?」みたいに値を比べることが多いです。そのための記号(比較演算子)も覚えました。
==
: 等しい (※=
1つだと代入になっちゃう!僕も間違えかけた!)!=
: 等しくない>
: より大きい<
: より小さい>=
: 以上<=
: 以下
これらを使って age == 39
(ageは39と等しい?)とか score >= 80
(scoreは80以上?)みたいに書くんですね。結果がTrueかFalseで返ってきます。
「もし違ったら?」も大事: else の使い方
「もし条件に合ったらA、そうでなかったらB」という時は、else:
を使います。
Python
score = 65 # 点数
if score >= 80:
print("合格です!")
else: # 80点未満だった場合
print("残念…不合格です。")
else:
の後にもコロン:
と、次の行のインデントを忘れずに!これも僕、最初忘れそうになりました(笑)
もっと細かく分けたい!: elif の使い方
「もしAなら」「そうじゃなくて、もしBなら」「さらにそうじゃなくて、もしCなら」「どれでもないなら」みたいに、複数の条件で分けたい時は elif
(エルイフ)が登場!
Python
temperature = 28 # 気温
if temperature >= 30:
print("暑い!")
elif temperature >= 20: # 30未満で、20以上
print("快適!")
elif temperature >= 10: # 20未満で、10以上
print("肌寒い")
else: # 10未満
print("寒い!")
上から順番に条件がチェックされて、最初にTrueになったところだけが実行される仕組みです。賢い!
【やってみた】同い年判定プログラム
・練習として、自分の年齢(39歳)と同じかどうか判定するコードを書いてみました。

2回くらい間違えましたが、最後にはこれを実行したら、ちゃんと「僕と同い年ですね!」と表示されました!当たり前だけど、自分で書いた条件通りに動くと嬉しい!
・練習シナリオ:テストの点数で評価コメントを変える。これもやってみました!
これは、最初のミスのおかげか、うまくいけました。
やはり、間違えても気にせず考えながら、コードを書くことは大切だなと感じました!
まとめ:if文は思考の流れに近い!
今回はif
, elif
, else
を使った条件分岐を学びました。他のプログラミング概念に比べて、人間の「もし~ならこうする」という考え方に近いので、比較的イメージしやすかったです。(それでもコロン忘れとか、初歩的なミスはしましたが…笑)
これでプログラムに「判断」させることができるようになりました!大きな一歩ですね!
次回は、このif文も使いながら、繰り返し処理の「for文」に挑戦した記録を書こうと思います! ここまで読んでくださり、ありがとうございました!