メインコンテンツにスキップ
モジュール 4 · レッスン 3 / 4コース内の 15/36~10 min
モジュールのレッスン (3/4)

数字と数学モジュール

Python は 2 つの基本的な数値型を区別します: int (任意精度) 整数 - オーバーフローなし) および float (64 ビット浮動小数点、倍精度浮動小数点) 精度)。

Python
type(42)       # <class 'int'>
type(3.14)     # <class 'float'>
type(10 ** 100)  # <class 'int'>   — interi grandi a piacere

算術演算子

オプ意味例結果
+追加2 + 35
-引き算5 - 23
*製品4 * 312
/本当の 除算10 / 42.5
//整数 除算10 // 42
%モジュロ (剰余)10 % 31
**パワー2 ** 101024

警告: / は、2 つの整数 (10 / 2) を指定しても、常に float を返します。 5 ではなく、5.0 を返します)。整数の除算には // を使用します。

Python
10 / 4    # 2.5
10 // 4   # 2
-7 // 2   # -4   (arrotonda verso il basso, non verso lo zero)

数値組み込み関数

Python
abs(-5)               # 5
min(3, 1, 2)          # 1
max([3, 1, 2])        # 3   (su iterabile)
round(3.7)            # 4
round(3.14159, 2)     # 3.14
sum([1, 2, 3])        # 6

math モジュール

Python
import math
math.pi               # 3.141592653589793
math.sqrt(16)         # 4.0
math.floor(3.9)       # 3   (verso meno infinito)
math.ceil(3.1)        # 4   (verso più infinito)
math.log(math.e)      # 1.0
math.gcd(12, 18)      # 6

フロートの落とし穴

浮動小数点数は 二項近似です: 0.1 + 0.2 は正確には等しくありません 0.3。

Python
0.1 + 0.2           # 0.30000000000000004
0.1 + 0.2 == 0.3    # False !

安全に比較するには、math.isclose(a, b) を使用するか、金融のコンテキストでは、 decimal モジュール。

浮動小数点精度と 10 進数モジュール

Python の浮動小数点は、倍精度浮動小数点数 (IEEE 754 標準) として実装されます。したがって、0.1 + 0.2 のような計算では、正確に 0.3 が得られるのではなく、0.30000000000000004 が得られます。絶対的な数学的精度が必要な場合 (金融アプリケーションなど)、標準ライブラリの decimal モジュールを使用します。

試してみてください

運動#python.m4.l3.e1
試行回数: 0読み込み中…

`秒 = 3725` とすると、// と % を使用して `時間`、`分`、`残り秒` を計算します。タプル「(時間、分、残り秒)」を評価します。

エディターを読み込み中…
ヒントを表示

// 整数の除算を行い、% 余りを計算します。

3 回の試行後に解決策が利用可能になります

復習演習

運動#python.m4.l3.e2
試行回数: 0読み込み中…

`radius = 5` とすると、math.pi を使用して `area` 内の円の面積を計算します。 「面積」を小数点以下第2位に四捨五入して評価します。

エディターを読み込み中…
ヒントを表示

math.pi * 半径 ** 2

3 回の試行後に解決策が利用可能になります

追加の課題

運動#python.m4.l3.e3
試行回数: 0読み込み中…

Import the `math` module. Calculate the square root of `16` using `math.sqrt`, add the result to the rounded value of `3.74` (using `round()`), and store the final sum in `total_val`. Finally, evaluate the variable.

エディターを読み込み中…
ヒントを表示

math.sqrt(16) は 4.0 を返します。 Round(3.74) は 4 を返します。それらを合計して total_val に代入します。

3 回の試行後に解決策が利用可能になります