回答編集履歴

1

追記

2018/04/26 23:14

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -1,3 +1,25 @@
1
+ 追記:自分の回答はずいぶん迂遠であり、もっと単純に回答できていたほうがよかったです(反省)。
2
+
3
+
4
+
5
+ mkgreiさんがリンクしてくださっているcan110さん回答で充分であり、多少追加するにしても以下ぐらいがよかったと思いました。
6
+
7
+
8
+
9
+ 「arangeは閉空間[start, stop)を計算するので、要素数を決める演算で浮動小数点数の演算誤差の影響を受ける。期待通りの要素数にならないケースがあるのはリファレンスにあるとおり。本件でいえば
10
+
11
+ `math.ceil((0.8-0.5)/0.01)`が31になるためこのような結果になる」
12
+
13
+
14
+
15
+ 白状しますとmath.floor((0.8-0.5)/0.01)で求めてるというハヤトチリのため「なんか誤差があると思うしリファレンスにもそう書いてある」みたいな漠然なコメントをしてしまったのです。お恥ずかしい限りです。math.ceilであるべきだと気づくことができれば最初から単純明快に回答できてたと思います。
16
+
17
+
18
+
19
+ 元の回答
20
+
21
+ ---
22
+
1
23
  ちょっとやってみますと
2
24
 
3
25