PYTHON はじめの一歩 / LESSON 03

もし雨なら、
傘を持とう。

プログラムにも「もし〜なら」が書けるんだ。ROBORONと分かれ道に立って、条件によって答えが変わる瞬間を見てみよう。

分かれ道へ進む

条件 → 判定 → 実行 | 初めての人向け | 動画なしでも学べます

雨と晴れの分かれ道で、あおい・はる・AI先生・ROBORONが進む道を考えるイラスト
天気が変わると、選ぶ道も変わるね。
GOAL

このページでできるようになること

  • 01 if と else で2つの道を選べる
  • 02 = と == の役割、字下げの意味を説明できる
  • 03 elif を使い、3つ以上の結果を選べる
01 / MAKE A CHOICE

「もし雨なら」を書いてみよう

第2回で受け取った文字を、今度は判断に使います。同じプログラムでも、入力した天気で表示が変わります。

あおい

えっ、雨が降ってきた! 傘を持っていくか、天気を見て決めたいな。

AI先生

いい考え方だね。 は「もし条件に合うなら」という合図なんだよ。雨かどうかで進む道を変えられるよ。

はる

条件に合わない場合の道も用意すれば、どちらの天気でも結果が出せますね。

weather = input("天気は?: ")
if weather == "雨":
    print("傘を持とう!")
else:
    print("空を見て出発!")

weather に「雨」を入力した場合は「傘を持とう!」、それ以外なら「空を見て出発!」が表示されます。else は「それ以外」の道です。

目で見てわかる条件で道が分かれる
天気が雨かどうかで進む道を選ぶ図
図3 条件に合うかを確かめ、どちらか一方の道だけを進みます。両方の表示が同時に出るわけではありません。
天気を変えて確かめよう

「雨」なので条件に合います。if の道を進み「傘を持とう!」を表示します。

02 / COMPARE VALUES

「同じ?」をどう書く?

if の後ろには、合っているかどうかを確かめるを書きます。

名前に値を結び付けるweather = "雨"代入
2つの値が同じか確かめるweather == "雨"比較
あおい

あれ、イコールが2つ! 1つだけだと思って書きそうだったよ。

AI先生

気づけてえらいね。= は値を付けるとき、== は同じかを調べるときなんだよ。条件の答えは のどちらかになるよ。

==同じ
!=違う
>より大きい
<より小さい
>=以上
<=以下

たとえば temperature >= 30 は「気温が30以上」。ちょうど30も含みます。> なら30は含みません。

03 / INDENTATION

字下げが、道の境目になる

Pythonでは、行の頭の空白にも意味があります。if と else の行末には半角のコロン : を付け、実行する行は半角スペース4つ分だけ下げます。

条件に合うときだけ
if weather == "雨":
    print("傘を持とう!")

print の前に半角スペース4つ。ここが if の中です。

条件に合わないときだけ
else:
    print("空を見て出発!")

else は if と同じ位置。下の行を字下げします。

ROBORONのチェック!

「見た目だけの空白」ではないんだ。字下げを忘れると IndentationError というエラーになるよ。実行欄では Tab キーで半角スペース4つを入れられるよ。

04 / MORE THAN TWO PATHS

道が3つなら elif

雨かどうかは2つの道でした。気温に合わせて3つの言葉を出すなら、途中に を加えます。

はる

30℃以上なら水分補給、20℃以上なら散歩、それより低ければ上着、という順番でしょうか。

AI先生

その順番が大切なんだよ。上から調べて、最初に合った道だけを進む。32℃は「20℃以上」でもあるけれど、先に「30℃以上」が選ばれるんだ。

temperature = int(input("気温は?: "))
if temperature >= 30:
    print("水分補給を忘れずに!")
elif temperature >= 20:
    print("散歩にぴったり!")
else:
    print("上着を持とう!")
数を変えて、進む道を見よう

まず32、次に24と12でも試そう。半角の整数を入力してね。

30℃以上水分補給を忘れずに!
20℃以上散歩にぴったり!
それ以外上着を持とう!

32℃は最初の「30℃以上」に合うので、ここで決まります。

最初の条件に合った時点で残りの elif・else は調べません。条件の並びを入れ替えると、32℃でも先に「20℃以上」が選ばれてしまいます。

05 / YOUR TURN

予想して、確かめよう

実行前に「どの道を進むか」を考えてみよう。答えを選ぶと理由も表示されます。

問題 1晴れの日の表示

weather = "晴れ" のとき、最初の例は何を表示するかな?

答えを選ぶと、理由が表示されます。

問題 2順番に注目

temperature = 32 なら、どの行を実行するかな?

答えを選ぶと、理由が表示されます。

コーヒーブレイク:ROBORONが暗い部屋でライトを点けるなら?
ROBORON

あおい:センサーの数が小さかったら「暗い」って決めて、ライトを点けられるんだね!

AI先生:そうなんだよ。たとえば if brightness < 30: のように条件を書ける。ただ、窓際と机の下では明るさが違うから、境目の30を決める前にいろいろな場所で測って確かめようね。

はる:一度決めた条件でも、実際の使い方に合わせて見直す必要があるのですね。

06 / RUN PYTHON

自分の条件で動かそう

例題を選び、「入力する値」を変えて実行しよう。どの道に進むかを先に予想すると、結果の理由がよく見えてくるよ。

例題を選ぶ

コロンと字下げを確かめよう。Tabキーは半角スペース4つ分です。

この欄に、コードの input() が受け取る値を1行ずつ書きます。

準備できました。

実行結果

実行すると、ここに結果を表示します。

Pythonは閲覧中の端末内で動作します。

AI先生からひとこと

「条件を確かめる → 合う道だけ進む」。これができれば、プログラムが少しずつ自分で選べるようになるんだよ。次は文字列を調べたり、必要な部分を取り出したりしてみようね。