Để thực hiện các phép toán toán học từ đơn giản đến phức tạp (như lượng giác, logarit) trong Python, chúng ta có thể cần dùng module math().
Module math của Python được dùng để truy cập các hàm toán học. Tất cả phương thức của hàm math() dùng cho đối tượng kiểu nguyên hoặc thực nhưng không dùng cho số phức.
Để dùng hàm này, chúng ta cần import nó vào code:
import math
Các hằng số (Constants)
Chúng ta dùng các hằng số này cho tính toán trong Python:
| Hằng số | Mô tả |
|---|---|
| Pi | Trả về giá trị pi: 3.141592 |
| E | Trả về giá trị cơ số tự nhiên e. e ≈ 2.718282 |
| tau | Trả về giá trị tau. tau = 6.283185 |
| inf | Trả về vô cực dương |
| nan | Kiểu không phải số (Not a Number) |
Số và Biểu diễn số (Numbers and Numeric Representation)
Python cung cấp các hàm khác nhau để biểu diễn số dưới các dạng khác nhau, ví dụ:
| Hàm | Mô tả |
|---|---|
| ceil(x) | Trả về giá trị trần (ceiling) là giá trị nguyên nhỏ nhất lớn hơn hoặc bằng x. |
| copysign(x, y) | Trả về giá trị tuyệt đối của x với dấu của y. |
| fabs(x) | Trả về giá trị tuyệt đối của x. |
| factorial(x) | Trả về giai thừa của x với x >= 0. |
| floor(x) | Trả về giá trị sàn (floor) là số nguyên lớn nhất nhỏ hơn hoặc bằng x. |
| fsum(iterable) | Trả về tổng các phần tử trong đối tượng iterable. |
| gcd(x, y) | Trả về ước chung lớn nhất của x và y. |
| isfinite(x) | Kiểm tra x có phải không phải vô cực cũng không phải NaN. |
| isinf(x) | Kiểm tra x có phải vô cực. |
| isnan(x) | Kiểm tra x có phải không phải số (NaN). |
| remainder(x, y) | Tìm phần dư sau khi chia x cho y. |
Hãy viết chương trình minh họa việc dùng các hàm toán học trên:
# Import thư viện math
import math
# Floor và Ceiling
print('Giá trị Floor và Ceiling của 9.45 là: ' + str(math.ceil(9.45)) + ', ' + str(math.floor(9.45)))
# Copysign
x = 94
y = -27
print('Giá trị x sau khi copy dấu từ y là: ' + str(math.copysign(x, y)))
# Giá trị tuyệt đối
print('Giá trị tuyệt đối của -94 và 54 là: ' + str(math.fabs(-94)) + ', ' + str(math.fabs(54)))
# Fsum & gcd
my_list = [12, 9.25, 89, 3.02, -75.23, -7.2, 6.3]
print('Tổng các phần tử của danh sách: ' + str(math.fsum(my_list)))
print('Ước chung lớn nhất của 24 và 56: ' + str(math.gcd(24, 48)))
# isnan
x = float('nan')
if math.isnan(x):
print('Đây không phải là một số')
x = float('inf')
# isinf
y = 54
if math.isinf(x):
print('Đây là Vô cực')
# x không phải số hữu hạn
print(math.isfinite(x))
# y là số hữu hạn
print(math.isfinite(y))
Kết quả
Giá trị Floor và Ceiling của 9.45 là: 10, 9
Giá trị x sau khi copy dấu từ y là: -94.0
Giá trị tuyệt đối của -94 và 54 là: 94.0, 54.0
Tổng các phần tử của danh sách: 37.13999999999999
Ước chung lớn nhất của 24 và 56: 24
Đây không phải là một số
Đây là Vô cực
False
True
Hàm Lũy thừa & Logarit (Power & Logarithmic Functions)
Các hàm này dùng để tính các tác vụ liên quan đến lũy thừa và logarit trong Python.
| Hàm | Mô tả |
|---|---|
| pow(x, y) | Trả về giá trị x mũ y |
| sqrt(x) | Tìm căn bậc hai của x |
| exp(x) | Tìm e mũ x, với e = 2.718281 |
| log(x[, base]) | Trả về logarit của x với cơ số cho trước. Cơ số mặc định là e |
| log2(x) | Trả về logarit của x với cơ số 2 |
| log10(x) | Trả về logarit của x với cơ số 10 |
Chương trình ví dụ minh họa các hàm trên
import math
print("Giá trị của 2^5: " + str(math.pow(2, 5)))
print("Căn bậc hai của 625: " + str(math.sqrt(625)))
print("Giá trị của 5^e: " + str(math.exp(5)))
print("Giá trị của log(625), cơ số 5: " + str(math.log(625, 5)))
print("Giá trị của log(1024), cơ số 10: " + str(math.log10(1024)))
print("Giá trị của log(1024), cơ số 2: " + str(math.log2(1024)))
Kết quả
Giá trị của 2^5: 32.0
Căn bậc hai của 625: 25.0
Giá trị của 5^e: 148.4131591025766
Giá trị của log(625), cơ số 5: 4.0
Giá trị của log(1024), cơ số 10: 3.010299956639812
Giá trị của log(1024), cơ số 2: 10.0
Hàm Lượng giác và Chuyển đổi Góc (Trigonometric and Angular Conversion Functions)
Các hàm này dùng để tính các phép toán lượng giác khác nhau:
| Hàm | Mô tả |
|---|---|
| sin(x) | Trả về sin của x tính bằng radian |
| cos(x) | Trả về cos của x tính bằng radian |
| tan(x) | Trả về tan của x tính bằng radian |
| asin(x) | Trả về arcsin, tương tự có acos, atan |
| degrees(x) | Chuyển đổi góc x từ radian sang độ |
| radians(x) | Chuyển đổi góc x từ độ sang radian |
Chương trình ví dụ minh họa các hàm trên
import math
print("Giá trị của sin(45 độ): " + str(math.sin(math.radians(45))))
print('Giá trị của cos(pi): ' + str(math.cos(math.pi)))
print("Giá trị của tan(45 độ): " + str(math.tan(math.pi/2)))
print("Góc của sin(0.95504050560): " + str(math.degrees(math.sin(0.95504050560))))
Kết quả
Giá trị của sin(45 độ): 0.7071067811865475
Giá trị của cos(pi): -1.0
Giá trị của tan(45 độ): 1.633123935319537e+16
Góc của sin(0.95504050560): 46.77267256206895