Chuyển đến nội dung chính
Mô-đun 4 · Bài học 3 trong tổng số 415/36 trong khóa học~10 min
Bài học theo mô-đun (3/4)

Mô-đun số và toán học

Python phân biệt hai loại số cơ bản: int (độ chính xác tùy ý số nguyên - không tràn) và float (dấu phẩy động 64 bit, gấp đôi độ chính xác).

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

Toán tử số học

OpÝ nghĩaVí dụKết quả
+cộng2 + 35
-phép trừ5 - 23
*sản phẩm4 * 312
/đúng phép chia10 / 42.5
//chia số nguyên10 // 42
%modulo (phần dư)10 % 31
**quyền lực2 ** 101024

Cảnh báo: / luôn trả về float, ngay cả với hai số nguyên (10 / 2 trả về 5.0 chứ không phải 5). Để chia số nguyên, hãy sử dụng //.

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

Tích hợp số

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

Mô-đun 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

Cạm bẫy phao

Số thực là xấp xỉ nhị phân: 0.1 + 0.2 không hoàn toàn bằng nhau 0.3.

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

Để so sánh an toàn, hãy sử dụng math.isclose(a, b) hoặc, trong bối cảnh tài chính, decimal mô-đun.

Độ chính xác nổi và mô-đun thập phân

Số float trong Python được triển khai dưới dạng số dấu phẩy động có độ chính xác kép (tiêu chuẩn IEEE 754). Do đó, các phép tính như 0.1 + 0.2 không mang lại chính xác 0.3 mà là 0.30000000000000004. Nếu bạn yêu cầu độ chính xác toán học tuyệt đối (ví dụ: đối với các ứng dụng tài chính), hãy sử dụng mô-đun decimal của thư viện chuẩn.

Hãy thử nó

tập thể dục#python.m4.l3.e1
Nỗ lực: 0Đang tải…

Cho `giây = 3725`, hãy tính `giờ`, `phút`, `giây_giây` còn lại bằng cách sử dụng // và %. Đánh giá bộ dữ liệu `(giờ, phút, còn lại_giây)`.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

// thực hiện phép chia số nguyên, % số dư.

Giải pháp khả dụng sau 3 lần thử

Xem lại bài tập

tập thể dục#python.m4.l3.e2
Nỗ lực: 0Đang tải…

Cho `bán kính = 5`, hãy tính diện tích hình tròn trong `diện tích` bằng math.pi. Đánh giá `diện tích` được làm tròn đến 2 số thập phân có làm tròn.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

math.pi * bán kính ** 2

Giải pháp khả dụng sau 3 lần thử

Thử thách bổ sung

tập thể dục#python.m4.l3.e3
Nỗ lực: 0Đang tải…

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.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

math.sqrt(16) trả về 4.0. round(3.74) trả về 4. Tính tổng chúng và gán cho Total_val.

Giải pháp khả dụng sau 3 lần thử