実数

プログラミングでは、すべての数値はまず整数 (integer) と小数 (float) に区別されます。 .

変数の型を判別するために、Python には組み込みの type() 関数があります。 <プレ> 名前=「イヴァン」 print(タイプ(名前))  # 画面に <class 'str'> が表示されます。 n=5 print(type(n))  # <class 'int'> r=5.0 print(type(r))  # <class 'float'>
5.0 の値は、10 進数で表された数値です。 プログラミングでは、すべての小数は 表記に小数点がある数値です。このような数は実数と呼ばれます。
 
実数は小数点を含む数値です。整数部分と小数部分は、数学のようにコンマではなく、ドットで区切られています。

たとえば、数字 \(1 \over 2\)、 \(\sqrt 2\)  は実数です。 int では、そのような数値を格納するには不十分です。 
Python は  float.
データ型を使用して実数を表します。
例の r 変数のように、数値の小数部がゼロに等しい場合でも、コンパイラはメモリ内に実数変数を作成します。数字の表記に小数点がありますので!いわば、小数点は、実際の変数を作成する必要があるという翻訳者への信号です。 

非常に大きい数と非常に小さい数  「浮動小数点」を使用して書かれています(いわゆる科学形式)  
科学形式では、数値は仮数(数値の重要な部分) 指数として表されます。 書くとき、仮数部と指数部は文字 e (ある程度 10 を表す) で区切られます。 

たとえば、電子の電荷の値 ( \(1.60217662 \times 10^{-19}\) C) を変数は、次の形式で記述します  ; <プレ> El = 1.60217662e-19
ほとんどすべての実数を完全な精度でコンピュータ メモリに格納することはできません。これは、格納に割り当てられるビット数が限られているためです。
 
そのため、実数で計算すると、表現の不正確さによる誤差が累積します。さらに、割り当てられるスペースが少ないほど、このエラーは大きくなります。

 

入力

input() 関数で実数を入力するには、input() 関数の結果である文字列を 関数 >float() を使用した実数: <プレ> x = float(input()) 一度に 1 行から複数​​の値を入力する必要がある場合は、整数の場合と同じ方法を使用します。 <プレ> x, y = map(float, input().split())

 

出力

実数を表示する場合、デフォルトで小数点以下 16 桁が表示されます。この形式は必ずしも必要ではありません。出力フォーマットを短くする必要がある場合は、フォーマットされた出力またはF文字列を使用してください。


出力のフォーマット
これを行うには、出力する文字列に format() メソッドを適用します。行内では、コロンの後に中括弧でフォーマットが書かれています。 format() 関数の括弧は変数 (または定数) の名前を示し、その値は指定された形式の中括弧の代わりに文字列に代入されます。変数の数は、中かっこの数と一致する必要があります。このメソッドは、バージョン 3 以降の Python で機能します。
 
<頭> <本体>
 


F 文字列 
フォーマットされた文字列を表示するもう 1 つの方法は、f-strings (f-string) を使用することです。このメソッドは、バージョン 3.6 以降の Python で使用できます。 <プレ> print(f"{x:f}") print(f"{x:.3f}") print(f"{x:12.4e}") F-string は、 (または F) で始まるワイルドカード文字列です。変数の値を文字列に挿入するたびに、   を追加する必要があります。中括弧 {} で囲まれた変数名。中括弧内では、fomat().
メソッドと同様のフォーマット メソッドを指定できます。

format() メソッドと F-strings に加えて、他の方法を使用して出力をフォーマットできます。出力ステートメントを次のように記述しても、同じ結果が得られます。 <プレ> print("%f" % (x)) print("%.3f" % (x)) print("%12.4e" % (x)) このフォーマット メソッドは、C 言語の  printf() 関数を模倣しています。このメソッドは廃止されたと考えられていますが、場合によっては、より便利です。それ以外では、このメソッドは Python バージョン 2.5 以下で動作する唯一の (ここで言及されているもののうち) ものです。

  説明 画面出力
<プレ> x = 1 / 6    
<プレ> print("{:f}".format(x)) format :f はデフォルトで 6 桁を出力します 小数部分 <プレ> 0.166667
<プレ> print("{:.3f}".format(x)) :.3 は、ドットの後に 3 文字を出力することを意味します <プレ> 0.167
<プレ> print("{:12.4e}".format(x)) :12.4 - 最初の数字 (12) は   を指定します。数字を表示する位置の総数 (ドットを含む);
2 番目の数字 (4) - 小数部分の桁数;
format e - 数値を科学形式で表示します。
<プレ> 1.6667e-01
実数を整数に変換する

問題を解決するとき、多くの場合、実数を最も近い整数値に四捨五入する必要があります。これには 2 つの機能があります。

覚えておく必要があります!
<オール>
  • 関数 int(x) - 実数 x の小数部分を破棄します。
  • 関数 round(x) - 実数 x を最も近い整数に丸めます (数値の小数部分が 0.5 の場合、数値は次のように丸められます)最も近い偶数)
  •  
    <プレ> print(int(20.12345)) # 20 print(round(2.5)) # 2 print(round(3.5)) # 4 print(round(-2.5)) # -2 print(round(-3.5)) # -4