Python で数値を切り上げる

  1. math.ceil() 関数を使用して、Python2.x で数値を切り上げる
  2. 単純な算術を使用して Python で数値を切り上げる
  3. フロア分割演算子を使用して Python で数値を切り上げる
  4. numpy.ceil() メソッドを使用して、Python で数値を切り上げる

このチュートリアルでは、数値を切り上げる概念を説明するさまざまな方法について説明します。正しい方法で数値を切り上げるには、さまざまな方法があります。たとえば、Python が提供する math モジュール、NumPy モジュールなどを使用して、数値を丸めることができます。チュートリアルでは、サンプルコードスニペットを使用してこれらのさまざまな方法を説明します。

math.ceil() 関数を使用して、Python2.x で数値を切り上げる

Python 2.x バージョンを使用している場合は、math.ceil() 関数を使用して数値を正しく切り上げることができます。ceil() 関数は、Python の math ライブラリによって提供されます。したがって、最初に math ライブラリをインポートする必要があります。ceil 関数は、丸める必要のある数値を取ります。式を取り、結果に従って結果の数値を丸めることができます。

ただし、Python 2.x では、int/intint を生成し、int/floatfloat を生成することに注意してください。したがって、正確な結果を得るには、float の値の 1つを ceil 関数に指定する必要があります。ceil 関数の式の両方の値が整数の場合、間違った結果が生成される可能性があります。

math.ceil() を使用して Python2.x で数値を切り上げる方法の概念を説明するサンプルコードを以下に示します。

import math
print(math.ceil(27/4))
print(math.ceil(27.0/4))

出力:

6
7

単純な算術を使用して Python で数値を切り上げる

Python で単純な算術を使用して、数値を切り上げることもできます。この方法は、Python のすべてのバージョンに適用できます。最初の式を整数データ型にキャストし、別の式の結果に基づいて 0 または 1 の値を追加します。他の式は、同じ分母を持つ数値のモジュラスを見つけて、それが 0 より大きいかどうかをチェックします。余りが 0 より大きい場合は、最初の式に 1 を追加し、false の場合は、最初の式に 0 を追加します。

math ライブラリをインポートせずに、単純な算術を使用して Python で数値を切り上げる方法を説明するサンプルコードを以下に示します。

n = 22
div = 5
print(int(n/div) + (n % div>0))

出力:

5

フロア分割演算子を使用して Python で数値を切り上げる

フロア分割演算子の記号は//です。単純な除算演算子/と同じように機能しますが、数値も切り捨てられます。そのため、通常、Python で数値を切り捨てるために使用されます。ただし、その使用法を変更して、数値を切り上げることもできます。負の数を割って答えを否定することで、そうすることができます。これにより、フロートのインポートまたは使用のコストやその他の条件を節約できます。整数でのみ機能します。

床分割演算子を使用して Python で数値を切り上げる方法を詳しく説明するために、サンプルコードを以下に示します。

n = 22
div = 5
answer = (-(-n//div))
print(answer)

出力:

5

同様に、分母を分子に加算し、分子から 1 を引くことにより、数値を切り上げることができます。次に、式全体が分母でフロア分割されます。これは、浮動小数点や外部モジュールも含まない簡単な方法です。このメソッドのサンプルコードを以下に示します。

numerator = 22
denominator  = 5
answer = (numerator + denominator - 1) // denominator
print(answer)

出力:

5

numpy.ceil() メソッドを使用して、Python で数値を切り上げる

数値を切り上げる別の方法は、numpy.ceil() メソッドを使用することです。まず、スクリプトに NumPy モジュールをインポートしてから、ceil() メソッドを使用して数値を切り上げる必要があります。ceil() 関数の戻り型は float であるため、式が整数であっても、出力は float になります。出力を整数に明示的にキャストすることにより、出力を整数データ型に明示的にキャストできます。

Python で数値を切り上げるこのメソッドのサンプルコードを以下に示します。

import numpy as nmp
n = 22
div = 5
answer = n/div
print(nmp.ceil(answer))
print(int(nmp.ceil(answer)))

出力:

5.0
5

関連記事 - Python Number

  • Python で 0 から 1 の間のランダムな値を生成する
  • Python でサイコロロールシミュレーターを作成する