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

再帰処理の停止条件を作る

再帰関数は自分自身を呼び出し、基底条件で停止します。入力が深いと再帰上限やスタックを消費するため、反復処理への置換も検討します。

再帰関数は自分自身を呼び出し、基底条件で停止します。入力が深いと再帰上限やスタックを消費するため、反復処理への置換も検討します。 このページでは、構文だけでなく、入力の検証と再現可能な確認方法も扱います。

考え方と使いどころ

再帰関数は自分自身を呼び出し、基底条件で停止します。入力が深いと再帰上限やスタックを消費するため、反復処理への置換も検討します。

組み込み開発での注意点

一つの処理を小さな関数に分け、入力条件・戻り値・例外を明確にすると、機器なしの試験が容易になります。

コード例

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

def within_limits(value: int, low: int, high: int) -> bool:
    if low > high:
        raise ValueError("範囲の指定が逆です")
    return low <= value <= high

print(within_limits(3290, 0, 5000))

手を動かす課題

入れ子になった設定の深さを数える処理を作り、空入力で停止することを試してください。

参考資料

「関数・反復・標準ライブラリ」の章一覧へ