python2と3では整数同士の割り算の答えが違います。
python2
>>> 1/2
0
python3
>>> 1/2
0.5
python2とpython3の両方で動きうるコードを設計するなら、
1/2 = 0.5
を期待する場合:
python2or3
>>> 1./2.
0.5
1/2 = 0
を期待する場合:
python2or3
>>> int(1/2)
0
こんな感じにしとけばいいですね。
追記
__future__
モジュールを使うことで、除算がpython2系でもpython3系と同じ動作をするようにできるようです。__future__
モジュールにはpython2系とpython3系の互換性を補完する機能が備わっており、その中のdivision
をimportします。
python2or3
from __future__ import division
print(1/2) # => 0.5
print(1//2) # => 0