98 Học Python – Viết 2 chương trình con tìm Max, Min
DANH SÁCH TÓM TẮT:
Bài 98: Viết 2 chương trình con tìm Max, Min và vị trí của Max, Min
Giới thiệu
Trong bài viết này, chúng ta sẽ viết hai chương trình con trong Python để tìm giá trị lớn nhất (Max) và nhỏ nhất (Min) trong một mảng, đồng thời xác định vị trí của chúng. Chúng ta sẽ triển khai theo hai cách: một cách đơn giản và một cách tối ưu hơn.
Khuyến mãi đặc biệt thêm danh sách 10 bài tập nâng cao khả năng lập trình Python:
- Bài: 91 Học Python – Sử dụng hàm tìm số nhỏ nhất trong 2 số để tìm số nhỏ nhất trong 3 số mới nhất
- Bài 92: Viết hàm cộng, trừ, nhân, chia hai phân số
- Bài 93 Viết chương trình con tính tổng các phần tử trong một mảng
- Bài 94: Viết chương trình con tính tổng các phần tử chẵn trong một mảng
- Bài 95: Đếm số lượng số nguyên tố trong mảng bằng Python
- Bài 96 : Tính trung bình cộng các số nguyên tố trong mảng bằng Python
- Bài 97 Tính trung bình cộng các số chính phương trong mảng bằng Python
- Bài 98: Viết 2 chương trình con tìm Max, Min và vị trí của Max, Min
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
- Viết một hàm tìm Max và Min trong mảng.
- Viết một hàm tìm vị trí của Max và Min trong mảng.
- Viết một phiên bản tối ưu hơn bằng cách sử dụng thư viện có sẵn.
- So sánh hai phương pháp để thấy sự khác biệt về hiệu suất.
Chương trình Python
Cách đơn giản
def tim_max_min(mang): max_value = mang[0] min_value = mang[0] for so in mang: if so > max_value: max_value = so if so < min_value: min_value = so return max_value, min_value def tim_vi_tri_max_min(mang): max_value, min_value = tim_max_min(mang) vi_tri_max = mang.index(max_value) vi_tri_min = mang.index(min_value) return vi_tri_max, vi_tri_min mang_so = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3] max_val, min_val = tim_max_min(mang_so) vi_tri_max, vi_tri_min = tim_vi_tri_max_min(mang_so) print(f"Max: {max_val}, Min: {min_val}") print(f"Vị trí Max: {vi_tri_max}, Vị trí Min: {vi_tri_min}")
Cách tối ưu
def tim_max_min_toi_uu(mang): return max(mang), min(mang) def tim_vi_tri_max_min_toi_uu(mang): max_value, min_value = tim_max_min_toi_uu(mang) vi_tri_max = mang.index(max_value) vi_tri_min = mang.index(min_value) return vi_tri_max, vi_tri_min mang_so = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3] max_val, min_val = tim_max_min_toi_uu(mang_so) vi_tri_max, vi_tri_min = tim_vi_tri_max_min_toi_uu(mang_so) print(f"Max: {max_val}, Min: {min_val}") print(f"Vị trí Max: {vi_tri_max}, Vị trí Min: {vi_tri_min}")
So sánh hai cách
Phương pháp | Ưu điểm | Nhược điểm |
Vòng lặp | Dễ hiểu, không cần thư viện | Hiệu suất thấp hơn |
Dùng hàm max() và min() | Ngắn gọn, hiệu suất cao | Phụ thuộc vào thư viện |
Kết luận
Cách sử dụng vòng lặp giúp hiểu rõ hơn về thuật toán, nhưng nếu muốn tối ưu hiệu suất, sử dụng hàm max() và min() trong Python là một lựa chọn tốt hơn.
Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !
Khóa học Python online từ cơ bản đến nâng cao