Câu 1Lệnh gọi đúng để tính căn bậc hai của một số đơn lẻ là gì?
math và statistics — Tính toán đơn giá trị và tổng hợp dữ liệu
Học module math và statistics của Python từ căn bản. Bao quát tính toán đơn giá trị với math.sqrt / pi / floor / ceil / log, tổng hợp dữ liệu với statistics.mean / median / mode / stdev, và cách hai module phân chia vai trò — kèm bài tập thực hành chạy được.
Bài này tập trung vào các module số của Python cho trường hợp thường gặp khi `float` thông thường là đủ. math xử lý các phép toán trên một giá trị (căn bậc hai, logarit, hàm lượng giác); statistics xử lý việc tổng hợp một dãy số (trung bình, trung vị, độ lệch chuẩn). Khi cần tránh sai số dấu phẩy động một cách nghiêm ngặt, bài tiếp theo về decimal / fractions mới là chỗ phù hợp.
math — Phép toán trên một số duy nhất
math là thư viện chuẩn cho các phép toán trên một số duy nhất. math.sqrt cho căn bậc hai, math.floor / math.ceil cho làm tròn xuống / lên, math.log cho logarit, math.sin / math.cos cho lượng giác — toàn bộ các hàm toán học sách giáo khoa đều ở đó. Module còn cung cấp hằng số dưới dạng thuộc tính như math.pi và math.e (số pi và cơ số logarit tự nhiên).
math.pi và math.e là giá trị tự thân (thuộc tính, không phải hàm).| Hàm / Thuộc tính | Ý nghĩa | Ví dụ |
|---|---|---|
| math.sqrt(x) | Căn bậc hai (trả về float) | math.sqrt(16) → 4.0 |
| math.floor(x) | Làm tròn xuống (trả về int) | math.floor(3.7) → 3 |
| math.ceil(x) | Làm tròn lên (trả về int) | math.ceil(3.2) → 4 |
| math.log(x, base) | Logarit (logarit tự nhiên khi bỏ qua base) | math.log(100, 10) → 2.0 |
| math.pi | Pi (hằng số) | 3.141592653589793 |
| math.e | Cơ số logarit tự nhiên (hằng số) | 2.718281828459045 |
import math
print(math.sqrt(16)) # 4.0 (float)
print(math.floor(3.7)) # 3 (int)
print(math.ceil(3.2)) # 4 (int)
print(math.log(100, 10)) # 2.0
print(math.pi) # 3.141592653589793
print(round(math.pi, 4)) # 3.1416 (làm tròn 4 chữ số thập phân)
statistics — Tổng hợp và tóm tắt dữ liệu
statistics là thư viện chuẩn để tổng hợp một nhóm giá trị. statistics.mean trả về trung bình cộng, statistics.median là trung vị, statistics.mode là giá trị xuất hiện nhiều nhất, và statistics.stdev là độ lệch chuẩn mẫu — tất cả trong một lệnh gọi. Bạn cũng có thể thấy các quan sát thống kê kinh điển trong thực tế, như trung vị là tóm tắt ổn định hơn trung bình khi có giá trị bất thường, chỉ với vài dòng code.
| Hàm | Ý nghĩa | Ví dụ |
|---|---|---|
| statistics.mean(d) | Trung bình cộng | mean([1,2,3]) → 2 |
| statistics.median(d) | Trung vị (chống giá trị bất thường) | median([1,2,3,4]) → 2.5 |
| statistics.mode(d) | Mode (giá trị xuất hiện nhiều nhất) | mode([1,2,2,3]) → 2 |
| statistics.stdev(d) | Độ lệch chuẩn mẫu | Mức độ phân tán của các giá trị |
import statistics
prices = [1200, 1500, 1100, 1400]
print(statistics.mean(prices)) # 1300 (trung bình)
print(statistics.median(prices)) # 1300.0 (trung vị)
print(statistics.stdev(prices)) # ~182.57 (độ lệch chuẩn)
# Khi có giá trị bất thường, trung bình và trung vị tách xa
with_outlier = [1200, 1500, 1100, 1400, 100000]
print(statistics.mean(with_outlier)) # 21040 (bị kéo bởi giá trị bất thường)
print(statistics.median(with_outlier)) # 1400 (chống giá trị bất thường)
Kiểm tra kiến thức
Hãy trả lời từng câu hỏi một.
Câu 2Cách phù hợp nhất để tính trung bình của một danh sách là gì?
Câu 3Hàm nào trả về trung vị chống giá trị bất thường?