Python2とPython3とで1/9*10の結果が違うんですね。ちょっとはまりました。pythonコマンドで正しく動かないプログラムがあり、あれっと思ってpython3で動かしたら正しく動いて、えっと思ったという話です。
a = int(1/9) b = int(1/9*10) c = int(1*10/9) print('int(1/9)=>'+str(a)) print('int(1/9*10)=>'+str(b)) print('int(1*10/9)=>'+str(c))
こういうプログラムを用意するとわかります。実行結果は下記。
$ python a.py int(1/9)=>0 int(1/9*10)=>0 int(1*10/9)=>1 $ python3 a.py int(1/9)=>0 int(1/9*10)=>1 int(1*10/9)=>1
python2だと1/9*10のとき、1/9を先に計算するのですね。python3だと1*10を先に計算します。どちらでも動くようにするには1*10/9とプログラマーが積を先にまとめてあげればいいのですが、まぁ、それぐらいコンピュータがよろしくやってくれよってことでpython3のように動くのがありがたいですかね。