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