クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

Pythonのif文で条件分岐

このレッスンのあとで: if、elif、else を使って、プログラムに場合分けをさせることができる。

55分のレッスンコマンド4件毎日使う Linux コマンドのラボ:エンジニアが暗記している30のコマンド

年齢によって料金を変える

Python の if 文は、条件が成り立つときだけ、決めた処理を実行する仕組みです。これを使うと、プログラムは年齢や点数によって、違う答えを出せます。

美術館は、子どもと大人で入館料を変えています。窓口の人は、年齢を聞いて、頭の中で場合分けをしています。

このレッスンのゴール

メモ

if、elif、else を使って、プログラムに場合分けをさせることができる。

キーワード

ことばいみれい
条件成り立つか成り立たないかを決める式age < 18
比較演算子2つの値を比べる記号== != < >=
真偽値True か False のどちらかの値
if文条件が True のときだけ処理を実行する文
インデント行の頭の空白。処理のまとまりを表す
論理演算子条件を組み合わせる言葉and or not

学生が入力するセルは、このプレビューでは空白です。

比較すると True か False が返る

条件は、2つの値を比べる式です。結果は、真偽値の True(成り立つ)か False(成り立たない)のどちらかです。

比べる記号は、下の表のとおりです。等しいかどうかは、= を2つ重ねた == で調べます。

例: 比較演算子と結果

式読み方結果
15 < 1815は18より小さいTrue
18 >= 1818は18以上True
20 == 2120は21と等しいFalse
20 != 2120は21と等しくないTrue

学生が入力するセルは、このプレビューでは空白です。

条件の結果を表示する

コマンド
python3 -c "age = 15; print(age < 18)"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

if と else で道を2つに分ける

if 条件: の下に、条件が True のときの処理を書きます。else: の下には、そうでないときの処理を書きます。

行の頭を4つの空白で下げます。これがインデントです。下げた行までが、そのときの処理です。

5行のプログラムを書き出す

コマンド
printf 'age = 15\nif age < 18:\n    print("child")\nelse:\n    print("adult")\n' > check.py

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

そのプログラムを実行する

コマンド
python3 check.py

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

elif で道を3つ以上にする

コード: python
# 点数で評価を決めます。
score = 72

if score >= 80:
    print("A")
elif score >= 60:
    print("B")
else:
    print("C")
# score を 85 に変えて実行しましょう。次に 40 にしましょう。

よくある間違い

注意

「条件でも、= を1つ書けばよい」と考える人がいます。= は代入で、== は比較です。if score = 80: はエラーになります。聞きたいときは、必ず == を使います。

and、or、not で条件を組み合わせる

and は、両方が True のときだけ True です。or は、どちらか一方が True なら True です。not は、True と False を入れ替えます。

「18歳以上で、かつ65歳未満」は、age >= 18 and age < 65 と書きます。

例: 組み合わせた条件

式結果わけ
10 > 3 and 2 > 5False右が False
10 > 3 or 2 > 5True左が True
not 2 > 5True2 > 5 は False なので反対
age >= 18 and age < 65 (age が 30)True両方が True

学生が入力するセルは、このプレビューでは空白です。

3つの論理を並べる

コマンド
python3 -c "print(7 % 2 == 1, 10 > 3 and 2 > 5, not False)"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

課題では関数の枠が先に書いてある

課題には def ticket_price(age, day): で始まる枠が書いてあります。これは関数で、決まった手順に名前をつけたものです。

詳しくは第5回で習います。今は、age と day が入ってきて、return の後ろの値が答えになる、とだけ覚えてください。

このラボとソースについて: 毎日使う Linux コマンドのラボ:エンジニアが暗記している30のコマンド

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。