divmod() 商と余り
最終更新:2026-09-22
divmod() 商と余り
divmod(a, b) は (a // b, a % b) を返す。浮動小数点数にも適用できる。
| カテゴリ | 組み込み関数 |
|---|---|
| 種類 | 組み込み関数 |
| Python バージョン | all |
📝 構文
divmod(a, b)
⚙️ 引数
| a 必須 | The dividend (numeric). |
|---|---|
| b 必須 | The divisor (numeric, non-zero). |
戻り値:tuple. The pair (a // b, a % b).
💥 例外
ZeroDivisionError— Raised when b is zero.TypeError— Raised when the operand types do not support floor division.
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
(3, 2)
(3.0, 2.5)
🏷️ 関連する組み込み関数
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Qdivmod(a, b) は何と等価ですか?
A(a // b, a % b) と等価です。1回の呼び出しで商と余りの両方が得られ、両者はセットで使う想定です。
Qなぜ divmod(17, 5) は (3, 2) を返すのですか?
A17 // 5 = 3、17 % 5 = 2 であり、恒等式 17 == 3 * 5 + 2 を満たすためです。
Q除数が 0 の場合はどうなりますか?
AZeroDivisionError を投げます。17 // 0 を直接計算した場合と同じです。
Q負数が関わると余りの符号はどう決まりますか?
APython の % 規則に従います。余りの符号は除数に従います。例:divmod(-17, 5) は (-4, 3) を返します。