回答編集履歴
1
補足
answer
CHANGED
@@ -3,11 +3,14 @@
|
|
3
3
|
area: 2499.847414437687
|
4
4
|
|
5
5
|
質問者さんのpythonのバージョンは2.7だと思います。むむと思って2.7と3.6の違いを調べてみると
|
6
|
-
[PEP 238 -- Changing the Division Operator](http://legacy.python.org/dev/peps/pep-0238/)というのが見つかりました。整数同士を除算すると2.7では切り捨て(floor)になってしまうようです。
|
6
|
+
[PEP 238 -- Changing the Division Operator](http://legacy.python.org/dev/peps/pep-0238/)というのが見つかりました。整数同士を除算すると2.7では切り捨て(floor)になってしまうようです。3.6では仕様が変わり切り捨てを行わない仕様になったようです。
|
7
|
-
3.6では仕様が変わり切り捨てを行わない仕様になったようです。
|
8
7
|
|
9
|
-
ここまでわかれば回避として、除数を浮動小数にすればよいことが
|
8
|
+
ここまでわかれば回避として、除数を浮動小数にすればよいらしいことが推測できます。
|
10
9
|
limX = 10
|
11
10
|
の行を
|
12
11
|
limX = 10.0
|
13
|
-
に変更してみてください。期待通りの結果が得られます。
|
12
|
+
に変更してみてください。期待通りの結果が得られます。
|
13
|
+
|
14
|
+
---
|
15
|
+
※: 整数同士の除算結果が整数になることについて
|
16
|
+
これはCやJavaなどのコンパイラー言語の仕様と同様なのでそういう感覚では自然に思えますが、動的な型を持つpythonとしてはちょっと不自然に感じますね。そういう意味で仕様が変更されたのだろうと想像しました。これはなかなか大きな仕様変更ですね。本件で自分も勉強させていただきました。
|