整数の除算は floor (実数の解を越えない最大の整数) を返すpython

初めてpythonに触れ、チュートリアルを読んだときから気になっていた

>>> 7/-3
-3

-2じゃないのかよ、などと思いながら傍に記述されたコメントには「整数の除算は floor (実数の解を越えない最大の整数) を返す」と書かれていた。
つまり、7/-3=-2.333・・・となるから、-2は実数の解-2.333を超えるので、それを超えない最大の整数は-3となる。ん~・・・。誰が得する仕様か。

という事で数年ときどき思い出しては気になってもまあ今度調べてみようと思っていた、他の言語ではどうなってるのかについて、ついにようやく今日テストした。

Java 1.7.0_11
コード:System.out.println(7/-3);
実行結果:-2

C言語 (Linux 3.5.0-27, gcc 4.6.3)
コード:printf(“%d”, 7/-3);
実行結果:-2

pythonよ、どうしておまえだけそんな仕様になっただ・・・

ちなみに、floor関数を使うと、例えばfloor(7/-3)のような
PHPの実行結果:-3
Cの実行結果:-2.000
Javaの実行結果:-2.0
Excelの実行結果:-3 ※floor(7/-3,1)

ブレ過ぎだろ・・・

結論
マイナスで割る可能性があるときは、すごく注意!!!