gosoly

ゆっくりと趣味に浸る。

Pythonの切り捨て・切り上げ

AtCoderでPython3で競技プログラミングをやっていたときに、WA判定食らったので今後やらかさないようにメモ

切り捨て・切り上げ

演算子を使って行うのが一番早くてかんたん

# 切り捨て
45 // 2
# 切り上げ
-(-45 // 2)

パット見切り上げ何やっとんじゃい!って思いますがきちんと算出されます
mathモジュールより高速です

round()とprint+formatでは切り上げできない

試しに以下を実行してもらえるとわかります

print(-(-45 // 2))
print(round(45 / 2))
print("{:.0f}".format(45 / 2))

round()formatは偶数を優先とした値になります

切り上げた結果が偶数であればround()formatも同じ結果になりますが、奇数となる場合は挙動が異なるので要注意