Chapter 2 / Control Flow
ifだけの練習
else を使わず、条件が成り立つときだけ表示する形に慣れます。
このページは無料で閲覧できるサンプルです。実際に手を動かして写経し、進捗を保存して学習を進めるには、ログインしてから学習ページへお進みください。
このレッスンで学ぶこと
if 文は Python の条件分岐の入口です。このレッスンでは else を組み合わせず、「条件が真のときだけ何かをする、偽なら何もしない」というもっとも単純な形だけを練習します。else が無い if は地味に見えますが、実務でも学習でもいちばん登場頻度の高い書き方です。
「条件が偽のとき何も起きない」のは異常ではなく、これが if 単体の正しい動きです。画面に何も表示されないと「失敗したのかな?」と不安になりがちですが、表示するかしないかを切り替えるのが if 単体の仕事だと割り切ってください。
写経 1
写経 1
score が 60 以上のときだけ pass と表示します。
score = 75
if score >= 60:
print("pass")pass写経 2
写経 2
age が 18 以上のときだけ adult と表示します。
age = 20
if age >= 18:
print("adult")adult発展問題 (概要のみ)
発展問題
temperature に好きな整数を入れて、temperature が 30 以上のときだけ "hot" と表示してみましょう。30 未満のときは何も表示しなくて構いません。
temperature = 0
発展問題の自動採点はログイン後の学習ページでのみ動作します。
コロンとインデントが構文の一部
if 条件: と書いたら、次の行は必ず半角スペース 4 つで字下げ (インデント) します。コロンを忘れると SyntaxError、インデントを忘れる/揃えないと IndentationError が出ます。「ここから先が if のブロックの中身ですよ」という Python の文法上の合図として、コロンとインデントはセットで覚えてください。スペースの数は 2 でも 8 でも動きますが、Python コミュニティの事実上の標準は 4 なので、本サイトもすべて 4 スペースに統一しています。
ガード節としての if
else が無い if は「特定の条件のときだけ余計な処理を挟む」というガード節 (guard clause) のパターンによく使われます。たとえば「未入力ならエラーメッセージを表示してここで終了」「数が大きすぎたら警告を出す」「特別なユーザーには追加のメッセージを足す」といった処理は、すべて if 単体で書けます。else を書くと「ガードに引っかかったとき以外」というやや回りくどい構造になりやすいので、副次的な処理は if 単体、本筋の分岐は if-else、と使い分けると読みやすくなります。
条件式に何を書くか
- 比較演算: if score >= 60: のような大小比較や等価比較
- 真偽値そのもの: if is_valid: のように True / False を直接判定する変数
- 存在チェック: if name: は name が空文字列でないときに真 (Python の暗黙の真偽判定)
- 複合条件: if score >= 60 and attendance >= 80: のように and / or で組み合わせる
「何もしない」を書きたいとき
「条件が真のときは何もしない」と Python に伝えたいときは、pass という特別なキーワードを使います。if condition: の次行に pass と書くと、構文上は中身があるけれども何もしない、というプレースホルダになります。組み立て途中で「ブロックの中身は後で書く」という場面で重宝するので、覚えておくと便利です。
手を動かして練習しましょう
ログインすると、お手本コードを 1 文字ずつ写経しながらブラウザ上で実行し、合否を確認しながら学習を進められます。進捗は自動で保存されます。