Học Python - Bài 58 Tính trung bình cộng các số chính phương trong mảng
Giới Thiệu
Trong bài viết này, chúng ta sẽ viết chương trình Python để tính trung bình cộng của các số chính phương trong một mảng số nguyên.
Cách Thực Hiện
Chương Trình Python
import math
# Hàm kiểm tra số chính phương
def la_so_chinh_phuong(n):
can = int(math.sqrt(n))
return can * can == n
# Hàm tính trung bình cộng các số chính phương trong mảng
def tinh_tb_so_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
# Nhập số lượng phần tử của mảng
n = int(input("Nhập số phần tử của mảng: "))
mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]
# Tính trung bình cộng
ket_qua = tinh_tb_so_chinh_phuong(mang)
print(f"Trung bình cộng các số chính phương trong mảng là: {ket_qua}")
import math
def la_so_chinh_phuong(n):
can = int(math.sqrt(n))
return can * can == n
# Hàm tính trung bình cộng các số chính phương trong mảng (cách tối ưu)
def tinh_tb_so_chinh_phuong_toi_uu(mang):
so_chinh_phuong = [so for so in mang if la_so_chinh_phuong(so)]
return sum(so_chinh_phuong) / len(so_chinh_phuong) if so_chinh_phuong else 0
# Nhập số lượng phần tử của mảng
n = int(input("Nhập số phần tử của mảng: "))
mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]
# Tính trung bình cộng
ket_qua = tinh_tb_so_chinh_phuong_toi_uu(mang)
print(f"Trung bình cộng các số chính phương trong mảng là: {ket_qua}")
So Sánh Hai Cách
| Phương pháp | Độ phức tạp | Ưu điểm | Nhược điểm |
| Dùng vòng lặp | O(n) | Dễ hiểu, trực quan | Mã dài hơn |
| Dùng list comprehension | O(n) | Ngắn gọn, tối ưu | Cần hiểu list comprehension |
Ví Dụ Chạy Chương Trình
Nhập số phần tử của mảng: 6
Nhập phần tử thứ 1: 4
Nhập phần tử thứ 2: 7
Nhập phần tử thứ 3: 9
Nhập phần tử thứ 4: 16
Nhập phần tử thứ 5: 5
Nhập phần tử thứ 6: 25
Trung bình cộng các số chính phương trong mảng là: 13.5
Kết Luận
Bài viết đã hướng dẫn cách tính trung bình cộng các số chính phương trong mảng bằng hai phương pháp:
Hy vọng bài viết hữu ích cho bạn!
Khóa học Python online từ cơ bản đến nâng cao
Kính thưa quý phụ huynh và các bạn học sinh thân mến! Trong kỷ nguyên…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học THCS Bình Phước 2019-2020 Bằng…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Dương…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Phước…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Định…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Định…