Học Python - Bài 97 Tính trung bình cộng các số chính phương trong mảng có sử dụng hàm
DANH SÁCH TÓM TẮT:
Giới thiệu
Trong bài viết này, chúng ta sẽ viết một chương trình con để tính trung bình cộng của các số chính phương trong một mảng bằng Python. Chương trình sẽ có hai cách triển khai: một cách đơn giản và một cách tối ưu hơn.
Bài 99 Học Python – Tính Số Fibonacci Hai cách tính và so sánh hiệu suất mới nhất
Cách thực hiện
Chương trình Python
def la_so_chinh_phuong(n):
can_bac_hai = int(n ** 0.5)
return can_bac_hai * can_bac_hai == n
def tinh_trung_binh_chinh_phuong(mang):
tong = 0
dem = 0
for so in mang:
if la_so_chinh_phuong(so):
tong += so
dem += 1
return tong / dem if dem > 0 else 0
mang_so = [1, 2, 3, 4, 9, 16, 25, 30]
print("Trung bình cộng các số chính phương trong mảng:", tinh_trung_binh_chinh_phuong(mang_so))
def la_so_chinh_phuong(n):
can_bac_hai = int(n ** 0.5)
return can_bac_hai * can_bac_hai == n
def tinh_trung_binh_chinh_phuong_toi_uu(mang):
cac_so_chinh_phuong = [so for so in mang if la_so_chinh_phuong(so)]
return sum(cac_so_chinh_phuong) / len(cac_so_chinh_phuong) if cac_so_chinh_phuong else 0
mang_so = [1, 2, 3, 4, 9, 16, 25, 30]
print("Trung bình cộng các số chính phương trong mảng:", tinh_trung_binh_chinh_phuong_toi_uu(mang_so))
So sánh hai cách
| Phương pháp | Ưu điểm | Nhược điểm |
| Vòng lặp | Dễ hiểu, phù hợp cho người mới học | Hiệu suất thấp hơn |
| Dùng list comprehension | Ngắn gọn, hiệu suất cao | Khó hiểu hơn cho người mới |
Kết luận
Cách sử dụng vòng lặp giúp hiểu rõ hơn về cách hoạt động của chương trình, nhưng nếu cần tối ưu hiệu suất, sử dụng list comprehension để tính trung bình cộng của các số chính phương là một lựa chọn tốt hơn.
Khóa học Python online từ cơ bản đến nâng cao
100 Bài Lập Trình Python Có Lời Giải Cơ Bản Đến Nâng Cao PDF –…
100 Đề Tổng Hợp Thi Tin Học Ứng Dụng Cơ Bản – Đại học Khoa…
⭐ Giới thiệu: Laptop lỗi ngay lúc đang gấp? Đừng hoảng! Laptop đang dùng ngon…
✅ Giới thiệu Bạn đang dùng PC thì đột nhiên đơ, chậm, xoay vòng mãi…
Mở bài – Khó khăn khi laptop gặp sự cố nhưng không thể mang ra…
Mở bài – Ổ cứng SSD quan trọng thế nào với dân đồ họa Đối…
This website uses cookies.