My days of...

生活のことなど、がんばろう

Python3で0.01を1万回足したら

qiita.comこの記事にある0.01を10000回足してみたら100.003になる、というのをPython(3.7.3)で試してみたら、、、

Python 3.7.3 (default, Mar 27 2019, 16:54:48)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 0.01
>>> for i in range(10000):
... x = x + 0.01
...
>>> x
100.01000000001426
>>>

「100.01000000001426」となりました。Pythonが正確なのか、パソコンの性能が上がったからなのか、それでも誤差は出ます。

独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

 
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング

 

1000回計算はこんな感じ

>>> x = 0.01
>>> for i in range(1000):
... x = x + 0.01
... print(x)
...
0.02
0.03
0.04
0.05
0.060000000000000005
0.07
0.08
0.09
0.09999999999999999
0.10999999999999999
0.11999999999999998
0.12999999999999998
0.13999999999999999
0.15
0.16
0.17
0.18000000000000002
0.19000000000000003
0.20000000000000004
0.21000000000000005
0.22000000000000006
0.23000000000000007
0.24000000000000007
0.25000000000000006
0.26000000000000006
0.2700000000000001
0.2800000000000001
0.2900000000000001
0.3000000000000001
0.3100000000000001
0.3200000000000001
0.3300000000000001
0.34000000000000014
0.35000000000000014
0.36000000000000015
0.37000000000000016
0.38000000000000017
0.3900000000000002
0.4000000000000002
0.4100000000000002
0.4200000000000002
0.4300000000000002
0.4400000000000002
0.45000000000000023
0.46000000000000024
0.47000000000000025
0.48000000000000026
0.49000000000000027
0.5000000000000002
0.5100000000000002
0.5200000000000002
0.5300000000000002
0.5400000000000003
0.5500000000000003
0.5600000000000003
0.5700000000000003
0.5800000000000003
0.5900000000000003
0.6000000000000003
0.6100000000000003
0.6200000000000003
0.6300000000000003
0.6400000000000003
0.6500000000000004
0.6600000000000004
0.6700000000000004
0.6800000000000004
0.6900000000000004
0.7000000000000004
0.7100000000000004
0.7200000000000004
0.7300000000000004
0.7400000000000004
0.7500000000000004
0.7600000000000005
0.7700000000000005
0.7800000000000005
0.7900000000000005
0.8000000000000005
0.8100000000000005
0.8200000000000005
0.8300000000000005
0.8400000000000005
0.8500000000000005
0.8600000000000005
0.8700000000000006
0.8800000000000006
0.8900000000000006
0.9000000000000006
0.9100000000000006
0.9200000000000006
0.9300000000000006
0.9400000000000006
0.9500000000000006
0.9600000000000006
0.9700000000000006
0.9800000000000006
0.9900000000000007
1.0000000000000007
1.0100000000000007
1.0200000000000007
1.0300000000000007
1.0400000000000007
1.0500000000000007
1.0600000000000007
1.0700000000000007
1.0800000000000007
1.0900000000000007
1.1000000000000008
1.1100000000000008
1.1200000000000008
1.1300000000000008
1.1400000000000008
1.1500000000000008
1.1600000000000008
1.1700000000000008
1.1800000000000008
1.1900000000000008
1.2000000000000008
1.2100000000000009
1.2200000000000009
1.2300000000000009
1.2400000000000009
1.2500000000000009
1.260000000000001
1.270000000000001
1.280000000000001
1.290000000000001
1.300000000000001
1.310000000000001
1.320000000000001
1.330000000000001
1.340000000000001
1.350000000000001
1.360000000000001
1.370000000000001
1.380000000000001
1.390000000000001
1.400000000000001
1.410000000000001
1.420000000000001
1.430000000000001
1.440000000000001
1.450000000000001
1.460000000000001
1.470000000000001
1.480000000000001
1.490000000000001
1.500000000000001
1.5100000000000011
1.5200000000000011
1.5300000000000011
1.5400000000000011
1.5500000000000012
1.5600000000000012
1.5700000000000012
1.5800000000000012
1.5900000000000012
1.6000000000000012
1.6100000000000012
1.6200000000000012
1.6300000000000012
1.6400000000000012
1.6500000000000012
1.6600000000000013
1.6700000000000013
1.6800000000000013
1.6900000000000013
1.7000000000000013
1.7100000000000013
1.7200000000000013
1.7300000000000013
1.7400000000000013
1.7500000000000013
1.7600000000000013
1.7700000000000014
1.7800000000000014
1.7900000000000014
1.8000000000000014
1.8100000000000014
1.8200000000000014
1.8300000000000014
1.8400000000000014
1.8500000000000014
1.8600000000000014
1.8700000000000014
1.8800000000000014
1.8900000000000015
1.9000000000000015
1.9100000000000015
1.9200000000000015
1.9300000000000015
1.9400000000000015
1.9500000000000015
1.9600000000000015
1.9700000000000015
1.9800000000000015
1.9900000000000015
2.0000000000000013
2.010000000000001
2.020000000000001
2.0300000000000007
2.0400000000000005
2.0500000000000003
2.06
2.07
2.0799999999999996
2.0899999999999994
2.099999999999999
2.109999999999999
2.1199999999999988
2.1299999999999986
2.1399999999999983
2.149999999999998
2.159999999999998
2.1699999999999977
2.1799999999999975
2.1899999999999973
2.199999999999997
2.209999999999997
2.2199999999999966
2.2299999999999964
2.239999999999996
2.249999999999996
2.259999999999996
2.2699999999999956
2.2799999999999954
2.289999999999995
2.299999999999995
2.3099999999999947
2.3199999999999945
2.3299999999999943
2.339999999999994
2.349999999999994
2.3599999999999937
2.3699999999999934
2.3799999999999932
2.389999999999993
2.399999999999993
2.4099999999999926
2.4199999999999924
2.429999999999992
2.439999999999992
2.4499999999999917
2.4599999999999915
2.4699999999999913
2.479999999999991
2.489999999999991
2.4999999999999907
2.5099999999999905
2.5199999999999902
2.52999999999999
2.53999999999999
2.5499999999999896
2.5599999999999894
2.569999999999989
2.579999999999989
2.5899999999999888
2.5999999999999885
2.6099999999999883
2.619999999999988
2.629999999999988
2.6399999999999877
2.6499999999999875
2.6599999999999873
2.669999999999987
2.679999999999987
2.6899999999999866
2.6999999999999864
2.709999999999986
2.719999999999986
2.7299999999999858
2.7399999999999856
2.7499999999999853
2.759999999999985
2.769999999999985
2.7799999999999847
2.7899999999999845
2.7999999999999843
2.809999999999984
2.819999999999984
2.8299999999999836
2.8399999999999834
2.849999999999983
2.859999999999983
2.869999999999983
2.8799999999999826
2.8899999999999824
2.899999999999982
2.909999999999982
2.9199999999999817
2.9299999999999815
2.9399999999999813
2.949999999999981
2.959999999999981
2.9699999999999807
2.9799999999999804
2.9899999999999802
2.99999999999998
3.00999999999998
3.0199999999999796
3.0299999999999794
3.039999999999979
3.049999999999979
3.0599999999999787
3.0699999999999785
3.0799999999999783
3.089999999999978
3.099999999999978
3.1099999999999777
3.1199999999999775
3.1299999999999772
3.139999999999977
3.149999999999977
3.1599999999999766
3.1699999999999764
3.179999999999976
3.189999999999976
3.1999999999999758
3.2099999999999755
3.2199999999999753
3.229999999999975
3.239999999999975
3.2499999999999747
3.2599999999999745
3.2699999999999743
3.279999999999974
3.289999999999974
3.2999999999999736
3.3099999999999734
3.319999999999973
3.329999999999973
3.3399999999999728
3.3499999999999726
3.3599999999999723
3.369999999999972
3.379999999999972
3.3899999999999717
3.3999999999999715
3.4099999999999713
3.419999999999971
3.429999999999971
3.4399999999999706
3.4499999999999704
3.45999999999997
3.46999999999997
3.47999999999997
3.4899999999999696
3.4999999999999694
3.509999999999969
3.519999999999969
3.5299999999999687
3.5399999999999685
3.5499999999999683
3.559999999999968
3.569999999999968
3.5799999999999677
3.5899999999999674
3.5999999999999672
3.609999999999967
3.619999999999967
3.6299999999999666
3.6399999999999664
3.649999999999966
3.659999999999966
3.6699999999999657
3.6799999999999655
3.6899999999999653
3.699999999999965
3.709999999999965
3.7199999999999647
3.7299999999999645
3.7399999999999642
3.749999999999964
3.759999999999964
3.7699999999999636
3.7799999999999634
3.789999999999963
3.799999999999963
3.8099999999999627
3.8199999999999625
3.8299999999999623
3.839999999999962
3.849999999999962
3.8599999999999617
3.8699999999999615
3.8799999999999613
3.889999999999961
3.899999999999961
3.9099999999999606
3.9199999999999604
3.92999999999996
3.93999999999996
3.9499999999999598
3.9599999999999596
3.9699999999999593
3.979999999999959
3.989999999999959
3.9999999999999587
4.009999999999959
4.019999999999959
4.0299999999999585
4.039999999999958
4.049999999999958
4.059999999999958
4.069999999999958
4.079999999999957
4.089999999999957
4.099999999999957
4.109999999999957
4.119999999999957
4.129999999999956
4.139999999999956
4.149999999999956
4.159999999999956
4.1699999999999555
4.179999999999955
4.189999999999955
4.199999999999955
4.209999999999955
4.2199999999999545
4.229999999999954
4.239999999999954
4.249999999999954
4.259999999999954
4.269999999999953
4.279999999999953
4.289999999999953
4.299999999999953
4.3099999999999525
4.319999999999952
4.329999999999952
4.339999999999952
4.349999999999952
4.3599999999999515
4.369999999999951
4.379999999999951
4.389999999999951
4.399999999999951
4.40999999999995
4.41999999999995
4.42999999999995
4.43999999999995
4.4499999999999496
4.459999999999949
4.469999999999949
4.479999999999949
4.489999999999949
4.4999999999999485
4.509999999999948
4.519999999999948
4.529999999999948
4.539999999999948
4.549999999999947
4.559999999999947
4.569999999999947
4.579999999999947
4.589999999999947
4.599999999999946
4.609999999999946
4.619999999999946
4.629999999999946
4.6399999999999455
4.649999999999945
4.659999999999945
4.669999999999945
4.679999999999945
4.689999999999944
4.699999999999944
4.709999999999944
4.719999999999944
4.729999999999944
4.739999999999943
4.749999999999943
4.759999999999943
4.769999999999943
4.7799999999999425
4.789999999999942
4.799999999999942
4.809999999999942
4.819999999999942
4.8299999999999415
4.839999999999941
4.849999999999941
4.859999999999941
4.869999999999941
4.87999999999994
4.88999999999994
4.89999999999994
4.90999999999994
4.9199999999999395
4.929999999999939
4.939999999999939
4.949999999999939
4.959999999999939
4.9699999999999385
4.979999999999938
4.989999999999938
4.999999999999938
5.009999999999938
5.019999999999937
5.029999999999937
5.039999999999937
5.049999999999937
5.0599999999999365
5.069999999999936
5.079999999999936
5.089999999999936
5.099999999999936
5.1099999999999355
5.119999999999935
5.129999999999935
5.139999999999935
5.149999999999935
5.159999999999934
5.169999999999934
5.179999999999934
5.189999999999934
5.199999999999934
5.209999999999933
5.219999999999933
5.229999999999933
5.239999999999933
5.2499999999999325
5.259999999999932
5.269999999999932
5.279999999999932
5.289999999999932
5.299999999999931
5.309999999999931
5.319999999999931
5.329999999999931
5.339999999999931
5.34999999999993
5.35999999999993
5.36999999999993
5.37999999999993
5.3899999999999295
5.399999999999929
5.409999999999929
5.419999999999929
5.429999999999929
5.4399999999999284
5.449999999999928
5.459999999999928
5.469999999999928
5.479999999999928
5.489999999999927
5.499999999999927
5.509999999999927
5.519999999999927
5.5299999999999265
5.539999999999926
5.549999999999926
5.559999999999926
5.569999999999926
5.5799999999999255
5.589999999999925
5.599999999999925
5.609999999999925
5.619999999999925
5.629999999999924
5.639999999999924
5.649999999999924
5.659999999999924
5.6699999999999235
5.679999999999923
5.689999999999923
5.699999999999923
5.709999999999923
5.7199999999999225
5.729999999999922
5.739999999999922
5.749999999999922
5.759999999999922
5.769999999999921
5.779999999999921
5.789999999999921
5.799999999999921
5.809999999999921
5.81999999999992
5.82999999999992
5.83999999999992
5.84999999999992
5.8599999999999195
5.869999999999919
5.879999999999919
5.889999999999919
5.899999999999919
5.909999999999918
5.919999999999918
5.929999999999918
5.939999999999918
5.949999999999918
5.959999999999917
5.969999999999917
5.979999999999917
5.989999999999917
5.9999999999999165
6.009999999999916
6.019999999999916
6.029999999999916
6.039999999999916
6.0499999999999154
6.059999999999915
6.069999999999915
6.079999999999915
6.089999999999915
6.099999999999914
6.109999999999914
6.119999999999914
6.129999999999914
6.1399999999999135
6.149999999999913
6.159999999999913
6.169999999999913
6.179999999999913
6.1899999999999125
6.199999999999912
6.209999999999912
6.219999999999912
6.229999999999912
6.239999999999911
6.249999999999911
6.259999999999911
6.269999999999911
6.2799999999999105
6.28999999999991
6.29999999999991
6.30999999999991
6.31999999999991
6.3299999999999095
6.339999999999909
6.349999999999909
6.359999999999909
6.369999999999909
6.379999999999908
6.389999999999908
6.399999999999908
6.409999999999908
6.419999999999908
6.429999999999907
6.439999999999907
6.449999999999907
6.459999999999907
6.4699999999999065
6.479999999999906
6.489999999999906
6.499999999999906
6.509999999999906
6.519999999999905
6.529999999999905
6.539999999999905
6.549999999999905
6.559999999999905
6.569999999999904
6.579999999999904
6.589999999999904
6.599999999999904
6.6099999999999035
6.619999999999903
6.629999999999903
6.639999999999903
6.649999999999903
6.659999999999902
6.669999999999902
6.679999999999902
6.689999999999902
6.699999999999902
6.709999999999901
6.719999999999901
6.729999999999901
6.739999999999901
6.7499999999999005
6.7599999999999
6.7699999999999
6.7799999999999
6.7899999999999
6.7999999999998995
6.809999999999899
6.819999999999899
6.829999999999899
6.839999999999899
6.849999999999898
6.859999999999898
6.869999999999898
6.879999999999898
6.8899999999998975
6.899999999999897
6.909999999999897
6.919999999999897
6.929999999999897
6.9399999999998965
6.949999999999896
6.959999999999896
6.969999999999896
6.979999999999896
6.989999999999895
6.999999999999895
7.009999999999895
7.019999999999895
7.0299999999998946
7.039999999999894
7.049999999999894
7.059999999999894
7.069999999999894
7.0799999999998935
7.089999999999893
7.099999999999893
7.109999999999893
7.119999999999893
7.129999999999892
7.139999999999892
7.149999999999892
7.159999999999892
7.169999999999892
7.179999999999891
7.189999999999891
7.199999999999891
7.209999999999891
7.2199999999998905
7.22999999999989
7.23999999999989
7.24999999999989
7.25999999999989
7.269999999999889
7.279999999999889
7.289999999999889
7.299999999999889
7.309999999999889
7.319999999999888
7.329999999999888
7.339999999999888
7.349999999999888
7.3599999999998875
7.369999999999887
7.379999999999887
7.389999999999887
7.399999999999887
7.4099999999998865
7.419999999999886
7.429999999999886
7.439999999999886
7.449999999999886
7.459999999999885
7.469999999999885
7.479999999999885
7.489999999999885
7.4999999999998845
7.509999999999884
7.519999999999884
7.529999999999884
7.539999999999884
7.5499999999998835
7.559999999999883
7.569999999999883
7.579999999999883
7.589999999999883
7.599999999999882
7.609999999999882
7.619999999999882
7.629999999999882
7.6399999999998816
7.649999999999881
7.659999999999881
7.669999999999881
7.679999999999881
7.6899999999998805
7.69999999999988
7.70999999999988
7.71999999999988
7.72999999999988
7.739999999999879
7.749999999999879
7.759999999999879
7.769999999999879
7.779999999999879
7.789999999999878
7.799999999999878
7.809999999999878
7.819999999999878
7.8299999999998775
7.839999999999877
7.849999999999877
7.859999999999877
7.869999999999877
7.879999999999876
7.889999999999876
7.899999999999876
7.909999999999876
7.919999999999876
7.929999999999875
7.939999999999875
7.949999999999875
7.959999999999875
7.9699999999998745
7.979999999999874
7.989999999999874
7.999999999999874
8.009999999999874
8.019999999999873
8.029999999999873
8.039999999999873
8.049999999999873
8.059999999999873
8.069999999999872
8.079999999999872
8.089999999999872
8.099999999999872
8.109999999999872
8.119999999999871
8.129999999999871
8.139999999999871
8.14999999999987
8.15999999999987
8.16999999999987
8.17999999999987
8.18999999999987
8.19999999999987
8.20999999999987
8.21999999999987
8.229999999999869
8.239999999999869
8.249999999999869
8.259999999999868
8.269999999999868
8.279999999999868
8.289999999999868
8.299999999999867
8.309999999999867
8.319999999999867
8.329999999999867
8.339999999999867
8.349999999999866
8.359999999999866
8.369999999999866
8.379999999999866
8.389999999999866
8.399999999999865
8.409999999999865
8.419999999999865
8.429999999999865
8.439999999999864
8.449999999999864
8.459999999999864
8.469999999999864
8.479999999999864
8.489999999999863
8.499999999999863
8.509999999999863
8.519999999999863
8.529999999999863
8.539999999999862
8.549999999999862
8.559999999999862
8.569999999999862
8.579999999999862
8.589999999999861
8.599999999999861
8.60999999999986
8.61999999999986
8.62999999999986
8.63999999999986
8.64999999999986
8.65999999999986
8.66999999999986
8.67999999999986
8.68999999999986
8.699999999999859
8.709999999999859
8.719999999999859
8.729999999999858
8.739999999999858
8.749999999999858
8.759999999999858
8.769999999999857
8.779999999999857
8.789999999999857
8.799999999999857
8.809999999999857
8.819999999999856
8.829999999999856
8.839999999999856
8.849999999999856
8.859999999999856
8.869999999999855
8.879999999999855
8.889999999999855
8.899999999999855
8.909999999999854
8.919999999999854
8.929999999999854
8.939999999999854
8.949999999999854
8.959999999999853
8.969999999999853
8.979999999999853
8.989999999999853
8.999999999999853
9.009999999999852
9.019999999999852
9.029999999999852
9.039999999999852
9.049999999999851
9.059999999999851
9.069999999999851
9.07999999999985
9.08999999999985
9.09999999999985
9.10999999999985
9.11999999999985
9.12999999999985
9.13999999999985
9.14999999999985
9.15999999999985
9.169999999999849
9.179999999999849
9.189999999999849
9.199999999999848
9.209999999999848
9.219999999999848
9.229999999999848
9.239999999999847
9.249999999999847
9.259999999999847
9.269999999999847
9.279999999999847
9.289999999999846
9.299999999999846
9.309999999999846
9.319999999999846
9.329999999999846
9.339999999999845
9.349999999999845
9.359999999999845
9.369999999999845
9.379999999999844
9.389999999999844
9.399999999999844
9.409999999999844
9.419999999999844
9.429999999999843
9.439999999999843
9.449999999999843
9.459999999999843
9.469999999999843
9.479999999999842
9.489999999999842
9.499999999999842
9.509999999999842
9.519999999999841
9.529999999999841
9.539999999999841
9.54999999999984
9.55999999999984
9.56999999999984
9.57999999999984
9.58999999999984
9.59999999999984
9.60999999999984
9.61999999999984
9.62999999999984
9.639999999999839
9.649999999999839
9.659999999999838
9.669999999999838
9.679999999999838
9.689999999999838
9.699999999999838
9.709999999999837
9.719999999999837
9.729999999999837
9.739999999999837
9.749999999999837
9.759999999999836
9.769999999999836
9.779999999999836
9.789999999999836
9.799999999999836
9.809999999999835
9.819999999999835
9.829999999999835
9.839999999999835
9.849999999999834
9.859999999999834
9.869999999999834
9.879999999999834
9.889999999999834
9.899999999999833
9.909999999999833
9.919999999999833
9.929999999999833
9.939999999999833
9.949999999999832
9.959999999999832
9.969999999999832
9.979999999999832
9.989999999999831
9.999999999999831
10.009999999999831
>>>