Pythonで間違った計算?
2023-09-01 06:34:17
質問
Pythonを始めたばかりなので、おそらくこれは私の間違いですが、...
私はPythonを試しています。電卓として使うのが好きで、いくつかのチュートリアルをゆっくりやっています。
今日、変なことに遭遇しました。2013*2013を調べたいのに、間違えて2013*013と書いてしまい、こうなってしまいました。
>>> 2013*013
22143
電卓で確認したところ、22143は誤答でした! 2013 * 13は26169になるはずです。
なぜPythonは間違った答えを出すのでしょうか?私の古いCasioの電卓はこんなことしないのに...。
どのように解決するのですか?
8進法のため、013は実際には整数の11になります。
>>> 013
11
先頭のゼロで
013
はbase-8の数値として解釈され、1*8
1
+ 3*8
0
= 11.
注:この動作は は python 3 で変更されました。 . 以下は、特に適切な引用です。 PEP 3127
<ブロッククオート整数のデフォルトの8進数表現は、C言語のような言語に馴染みのない人々にとって、静かに混乱を招くものです。 を無言で混乱させます。というのも というのも、間違った値を持つ整数オブジェクトをうっかり作ってしまうからです。 013' は Python 言語自身にとっては 'decimal 13' ではなく 'decimal 11' を意味するからです。 を意味し、ほとんどの人間がこの これは、ほとんどの人間がこのリテラルに割り当てる意味とは異なります。
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Pythonによる一対のクロスプロダクト [重複] (英語)
-
[解決済み] pipの依存性/必要条件をリストアップする方法はありますか?
最新
-
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の構文に新しいステートメントを追加することはできますか?
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] Cythonのコードを含むPythonパッケージはどのように構成すればよいのでしょうか?
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複