Pythonで指定した数値以上の最小の整数を計算する

Pythonを使って、ある指定した数値より大きい整数で、かつ最小の整数を計算します。

目次

  1. mathモジュールのceilメソッドを使う
  2. 試してみた(mathモジュール編)
  3. NumPyのceilメソッドを使う
  4. 試してみた(numpy.ceil編)

mathモジュールのceilメソッドを使う

天井関数(ceiling function)というのは、実数xに対してx以上の最小の整数を求める物です。

Pythonには、mathモジュールにceilというメソッドがあります。mathモジュールは標準モジュールですので、pip等でインストールする必要はありません。

from math import ceil

c = ceil(r)
変数 内容
r float 天井関数の引数となる実数。
c int 戻り値。

引数は実数にしないとエラーになります。

試してみた(mathモジュール編)

いくつかのパターンを試してみました。

>>> from math import ceil
>>> ceil(10)
10
>>> ceil(10.5)
11
>>> ceil(0)
0
>>> ceil(-10)
-10
>>> ceil(-10.5)
-10

それでは、実数以外で試してみます。

>>> from math import ceil
>>> ceil('10')  # 文字列
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: must be real number, not str

>>> j = complex(10.5)
>>> j
(10.5+0j)
>>> ceil(j)  # 複素数
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't convert complex to float

実数を入れろと怒られてしまいました。

NumPyのceilメソッドを使う

NumPyにもceilメソッドがあります。行列だけでなく、スカラーに対しても天井関数として機能します。NumPyはPythonとは別にインストールが必要なモジュールですが、広く使われていますのでインストール済みの環境も多いと思います。

from numpy import ceil

c = ceil(r)
変数 内容
r float 天井関数の引数となる実数。
c numpy.float64 戻り値。

戻り値の型がintでないことに注意です。

試してみた(numpy.ceil編)

>>> from numpy import ceil
>>> ceil(10)
10.0
>>> ceil(10.5)
11.0
>>> ceil(0)
0.0
>>> ceil(-10)
-10.0
>>> ceil(-10.5)
-10.0

戻り値に小数点が付いてますね。

広告

Pythonの数値計算カテゴリの投稿