Python の割り算の切り上げ
Vaibhav Vaibhav
2023年10月10日
割り算の切り上げるは、現在の回答または商以上の最も近い整数を返します。Python では、切り捨ての演算子//
がありますが、割り算の切り上げ用のそのような演算子は存在しません。この記事では、Python で割り算の切り上げることを実行するさまざまな方法について説明します。
Python で//
演算子を使用した割り算の切り上げ
数学と床除算//
を使用して、Python で割り算の切り上げことを実行できます。次のコードを参照してください。
def ceil(a, b):
return -1 * (-a // b)
print(ceil(1, 2))
print(ceil(5, 4))
print(ceil(7, 2))
print(ceil(5, 3))
print(ceil(121, 10))
出力:
1
2
4
2
13
やったことは以下の通りです。
-a // b
は同じ答えを返しますが、a // b
とは逆の符号になります。- 負の側では、
-a
は-(a + 1)
よりも大きいため、a
は正の数であるため、//
演算子は実際の答えよりもわずかに小さい整数を返します。たとえば、通常の除算からの回答が-1.25
の場合、返されるフロア値は-2
(-1.25
に最も近い最小の整数)になります。 -1
を(-a // b)
の中間の答えまたは結果に掛けることにより、期待される符号で答えが得られます。戻り値は、基本的に切り上げの除算の結果です。
Python で math.ceil()
関数を使用した割り算の切り上げ
Python には、数学演算を実行するための関数とユーティリティが満載の math
パッケージがあります。そのような関数の 1つが ceil()
関数です。この関数は、渡された数値の上限値を返します。たとえば、この関数に 2.3
を渡すと、3
が返されます。通常の除算の結果をこの関数に渡し、その天井値を返します。その他の例とその使用法については、次のコードを参照してください。
from math import ceil
print(ceil(1 / 2))
print(ceil(5 / 4))
print(ceil(7 / 2))
print(ceil(5 / 3))
print(ceil(121 / 10))
出力:
1
2
4
2
13
著者: Vaibhav Vaibhav