モジュールのレッスン (3/4)
数字と数学モジュール
Python は 2 つの基本的な数値型を区別します: int (任意精度)
整数 - オーバーフローなし) および float (64 ビット浮動小数点、倍精度浮動小数点)
精度)。
type(42) # <class 'int'>
type(3.14) # <class 'float'>
type(10 ** 100) # <class 'int'> — interi grandi a piacere算術演算子
| オプ | 意味 | 例 | 結果 |
|---|---|---|---|
+ | 追加 | 2 + 3 | 5 |
- | 引き算 | 5 - 2 | 3 |
* | 製品 | 4 * 3 | 12 |
/ | 本当の 除算 | 10 / 4 | 2.5 |
// | 整数 除算 | 10 // 4 | 2 |
% | モジュロ (剰余) | 10 % 3 | 1 |
** | パワー | 2 ** 10 | 1024 |
警告: / は、2 つの整数 (10 / 2) を指定しても、常に float を返します。
5 ではなく、5.0 を返します)。整数の除算には // を使用します。
10 / 4 # 2.5
10 // 4 # 2
-7 // 2 # -4 (arrotonda verso il basso, non verso lo zero)数値組み込み関数
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]) # 6math モジュール
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。
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 モジュールを使用します。
試してみてください
`秒 = 3725` とすると、// と % を使用して `時間`、`分`、`残り秒` を計算します。タプル「(時間、分、残り秒)」を評価します。
ヒントを表示
// 整数の除算を行い、% 余りを計算します。
3 回の試行後に解決策が利用可能になります
復習演習
`radius = 5` とすると、math.pi を使用して `area` 内の円の面積を計算します。 「面積」を小数点以下第2位に四捨五入して評価します。
ヒントを表示
math.pi * 半径 ** 2
3 回の試行後に解決策が利用可能になります
追加の課題
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 回の試行後に解決策が利用可能になります