組み込み開発のためのPython · レッスン 196 / 220

条件分岐と入力範囲の検証

if文で状態を判定し、境界条件や異常値を明確に処理します。

機器制御や測定スクリプトでは、境界値を誤判定すると結果が変わります。条件分岐の順序と、正常・警告・エラーの境界を読みやすく記述します。

境界を仕様と同じ形で書く

範囲の端点を含むかどうかを、`<=`と`<`で正確に表します。相互に重なる条件は順序によって結果が変わるため、異常・例外条件を先に判定し、その後で通常範囲を判定すると意図が伝わりやすくなります。

真偽値と欠損値を混同しない

空文字や0を「値なし」と同じように判定すると、有効なゼロ測定値を誤って無視することがあります。値の有無を調べるのか、数値がゼロか調べるのかを分けて書きます。外部入力の文字列は、比較の前に形式と範囲を検証します。

コード例

手元のPython環境に貼り付ける前に、使用しているPythonの版と対象ライブラリの対応を確認してください。

voltage_mv = 3300
minimum_mv = 3000
maximum_mv = 3600

if not minimum_mv <= voltage_mv <= maximum_mv:
    state = "範囲外"
elif voltage_mv == maximum_mv:
    state = "上限値"
else:
    state = "正常"
print(state)

手を動かす課題

有効範囲の下限・上限・範囲外の値をそれぞれ与え、3ケースの結果を確認しましょう。

参考資料

「2. 値・文字列・条件分岐」の章一覧へ