python:整数値の割り算が0になる場合の対処方法

記事公開日:
最終更新日:

This post is also available in: English-US (英語)

pythonで整数値の割り算が0になり、以下のようなエラーを吐く場合があります。
その対処方法をメモとして書いています。

# xxx はなんらかの変数
ValueError: xxx must be > 0

Pythonは、デフォルトでは分母よりも分子の方が大きいと 0 を出力するみたいで、float型で扱うことを指定するか、もしくは以下のように 1.0 を乗算すると、小数点付きの計算結果が得られるようです。

# アウトプットはint型で問題ない
>>> 10/10
1
# アウトプットはint型だと問題あり 
>>> 10/100
0
# float型で扱うことを指定してアウトプットをfloat型にするパターン
>>> float(10)/100
0.1
# 1.0を乗算して、アウトプットをfloat型にするパターン
>>> 10*1.0/100
0.1
# ちなみに、以下は計算結果0のアウトプットをfloat型に変換しているので0.0となる
>>> float(10/100)
0.0

About
Amelt.net,LLCの創業者で、費用対効果の高い統合webマーケティングによりビジネスパートナーとして継続的にサポート。詳しいより。ブログの更新情報TwitterLinkedIn、またRSSfeedlyにてお知らせしていますのでフォローよろしくお願い致します。