1. ホーム
  2. python

[解決済み] Python 2.7.と3.3.の除算 [重複] [重複

2023-05-19 20:06:11

質問

Python 2.7で2つの数値を割って、小数の結果を得るにはどうしたらよいですか?

なぜ違いがあるのか理解できません。

をPython 3で使っています。

>>> 20/15
1.3333333333333333

をPython 2で表示します。

>>> 20/15
1

これって実はモジュロなんじゃないの?

どのように解決するのですか?

Python 2.7では / 演算子は入力が整数の場合、整数の除算になります。

もし、浮動小数点数の除算をしたい場合(これは私が常に好むものです)、この特別なインポートを使ってください。

from __future__ import division

こちらでご覧ください。

>>> 7 / 2
3
>>> from __future__ import division
>>> 7 / 2
3.5
>>>

整数の除算は // で,モジュロは % :

>>> 7 % 2
1
>>> 7 // 2
3
>>>

でコメントされているように user2357112 とコメントされているように、このインポートは他の通常のインポートの前に行われなければなりません。