Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
Q&A
解決済
1回答
2360閲覧
総合スコア29
0グッド
0クリップ
投稿2017/12/09 22:58
0
>>> from math import pi >>> [str(round(pi, i)) for i in range(0, 5)]
の結果が、['3', '3.1', '3.14', '3.142', '3.1416']ではなく、 ['3.0', '3.1', '3.14', '3.142', '3.1416']になるのはなぜでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答1件
ベストアンサー
roundの仕様だからです。
http://docs.python.jp/3/library/functions.html#round number の小数部を ndigists 桁に丸めた値を返します。ndigits が省略されたり、None だった場合、入力値に最も近い整数を返します。
round(pi, 0) で呼び出した場合、float型の値 3.0 を返しています。このため、 str(3.0) は '3.0' となります。 round(pi) と round(pi, None) は int型の値 3を返します。
round(pi, 0)
3.0
str(3.0)
'3.0'
round(pi)
round(pi, None)
3
python1>>> str(round(pi, None)) 2'3'
python
1>>> str(round(pi, None)) 2'3'
投稿2017/12/09 23:13
総合スコア1847
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
Python mathモジュール
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。