Python入門書で読んだきり忘れていた問題に、この度出くわしたので備忘録を兼ねてまとめておこうと思います。以下のようなPythonのコードを書いていました。print(i)自分としては3回値が表示されるつもりだったんですが実際に実行してみると次のように出力されます。0.20.300000000000000042回しか表示されない上に、0.3が表示されるはずの2回めのループの値がおかしいですね。限りなく0.3に近いけれど、少しだけ0.3より大きい値になってしまっています。これにより3回目のループが実行されないようですね。調べたところ、このような場合は正確な計算が行えるよう、decimalモジュールを利用すれば良いようです。decimalモジュールを使って上のコードを書き直したものが次の通りです。print(i)これを実行すると以下のように出力されます。0.20.30.4今度は意図したとおりループ部分が3回実行されました。0.4で端数もありません。最後までお読みいただきありがとうございました。21:31Tweet関連記事2018-12-05i3-wmの設定ファイルを小出しに晒してみるタイル型ウィンドウマネージャのi3-wmはデフォルトの設定でもあ...2018-10-22百合マンガの階層型クラスタリングをしたかった階層型クラスタリングに関する知識が絶望的に足りず、正確な解...2018-10-21IQ-Treeの使い方まとめIQ-Treeは最尤法による系統樹作成プログラムです。»プロフィール取り留めのないブログですがお役に立てれば幸いです。(7)月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。