[解決済み] なぜ割り算は整数に丸められるのか?
2022-06-06 03:19:36
質問
私は、-100 から 0 までの数値のセットを 10-100 の範囲に正規化しようとしていて、変数がまったくない場合でも、これが私が期待する方法で評価されないことに気づいただけで、問題がありました。
>>> (20-10) / (100-10)
0
フロート分割もうまくいきません。
>>> float((20-10) / (100-10))
0.0
除算のどちらか一方をfloatにキャストすればうまくいきます。
>>> (20-10) / float((100-10))
0.1111111111111111
最初の例の各辺はint型として評価されており、これは最終的な答えがint型にキャストされることを意味します。0.111は0.5より小さいので、0に丸められます。私の意見では、これは透明ではありませんが、それが方法だと思います。
どのような説明でしょうか?
どのように解決するのですか?
Python 2.xを使用している場合、整数の割り算は浮動小数点数にならずに切り捨てられます。
>>> 1 / 2
0
そのうちの1つを
float
:
>>> float(10 - 20) / (100 - 10)
-0.1111111111111111
または
from __future__ import division
というように,力
/
は常に float を返すという Python 3.x の動作を採用するように強制します。
>>> from __future__ import division
>>> (10 - 20) / (100 - 10)
-0.1111111111111111
関連
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] リストの要素数を取得する方法
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] Pythonでパスから拡張子なしでファイル名を取得する方法は?
-
[解決済み] と'is'のどちらかを使って文字列を比較すると、異なる結果になることがあるのはなぜですか?
-
[解決済み] 現在のファイルのディレクトリのフルパスを取得するにはどうすればよいですか?
-
[解決済み] JavaScriptで整数の除算を行い、余りを別途取得する方法は?
-
[解決済み] 整数の割り算の結果を丸めるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
任意波形を生成してtxtで保存するためのPython実装
-
PythonによるExcelファイルの一括操作の説明
-
Python 入出力と高次代入の基礎知識
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac