Danh mục: 100 bài tập Python cơ bản có lời giải

54 Học Python – Tìm số nguyên nhỏ thứ 3 trong mảng mới nhất

Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để tìm số nguyên nhỏ thứ 3 trong một mảng số nguyên.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Thực Hiện

  1. Duyệt qua tất cả các phần tử trong mảng.
  2. Xác định số nhỏ nhất, số nhỏ nhì và số nhỏ thứ ba.
  3. Trả về số nhỏ thứ ba.

Chương Trình Python

Cách 1: Sử dụng danh sách và hàm sorted()

 

# Hàm tìm số nhỏ thứ 3 trong mảng

def tim_so_nho_thu_ba(mang):

    if len(mang) < 3:

        return None  # Không đủ số lượng phần tử

   

    mang_khong_trung = sorted(set(mang))  # Sắp xếp và loại bỏ số trùng lặp

   

    return mang_khong_trung[2] if len(mang_khong_trung) >= 3 else None




# 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ìm số nhỏ thứ 3

so_nho_thu_ba = tim_so_nho_thu_ba(mang)

print("Số nguyên nhỏ thứ 3 trong mảng:", so_nho_thu_ba)

 

Cách 2: Tối ưu hóa bằng vòng lặp duy nhất

 

# Hàm tìm số nhỏ thứ 3 tối ưu

def tim_so_nho_thu_ba_toi_uu(mang):

    if len(mang) < 3:

        return None  # Không đủ số lượng phần tử

   

    so_nho_nhat = so_nho_nhi = so_nho_thu_ba = float('inf')

   

    for so in mang:

        if so < so_nho_nhat:

            so_nho_thu_ba, so_nho_nhi, so_nho_nhat = so_nho_nhi, so_nho_nhat, so

        elif so_nho_nhat < so < so_nho_nhi:

            so_nho_thu_ba, so_nho_nhi = so_nho_nhi, so

        elif so_nho_nhi < so < so_nho_thu_ba:

            so_nho_thu_ba = so

   

    return so_nho_thu_ba if so_nho_thu_ba != float('inf') else None




# 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ìm số nhỏ thứ 3

so_nho_thu_ba = tim_so_nho_thu_ba_toi_uu(mang)

print("Số nguyên nhỏ thứ 3 trong mảng:", so_nho_thu_ba)

 

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Dùng sorted() + set()O(n log n)Code ngắn gọn, dễ hiểuHiệu suất thấp hơn khi mảng lớn
Vòng lặp duy nhấtO(n)Tối ưu hơn về hiệu suất và bộ nhớCần nhiều dòng code hơn

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: 10

Nhập phần tử thứ 2: 20

Nhập phần tử thứ 3: 5

Nhập phần tử thứ 4: 8

Nhập phần tử thứ 5: 12

Nhập phần tử thứ 6: 15

Số nguyên nhỏ thứ 3 trong mảng: 10

Kết Luận

Bài viết đã hướng dẫn cách tìm số nguyên nhỏ thứ 3 trong mảng bằng hai phương pháp:

  • Cách cơ bản: Dùng sorted() và set(), dễ hiểu nhưng có độ phức tạp cao hơn.
  • Cách tối ưu: Dùng vòng lặp duy nhất để tìm trực tiếp, giúp tiết kiệm bộ nhớ và tăng hiệu suất.

Hy vọng bài viết hữu ích cho bạ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

 

Khóa học Python online từ cơ bản đến nâng cao

53 Học Python – Tìm số nguyên lớn nhì trong mảng mới nhất

Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để tìm số nguyên lớn nhì trong một mảng số nguyên.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Thực Hiện

  1. Duyệt qua tất cả các phần tử trong mảng.
  2. Xác định số lớn nhất.
  3. Tìm số lớn nhì bằng cách bỏ qua số lớn nhất và lấy số lớn nhất còn lại.

Chương Trình Python

Cách 1: Sử dụng danh sách và hàm max()

# Hàm tìm số lớn nhì trong mảng

def tim_so_lon_nhi(mang):

if len(mang) < 2:

return None  # Không đủ số lượng phần tử

 

so_lon_nhat = max(mang)

mang_loai_bo_max = [so for so in mang if so != so_lon_nhat]  # Loại bỏ số lớn nhất

 

return max(mang_loai_bo_max, default=None)

 

# 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ìm số lớn nhì

so_lon_nhi = tim_so_lon_nhi(mang)

print(“Số nguyên lớn nhì trong mảng:”, so_lon_nhi)

Cách 2: Tối ưu hóa bằng vòng lặp duy nhất

# Hàm tìm số lớn nhì tối ưu

def tim_so_lon_nhi_toi_uu(mang):

if len(mang) < 2:

return None  # Không đủ số lượng phần tử

 

so_lon_nhat = so_lon_nhi = float(‘-inf’)

 

for so in mang:

if so > so_lon_nhat:

so_lon_nhi, so_lon_nhat = so_lon_nhat, so

elif so > so_lon_nhi and so != so_lon_nhat:

so_lon_nhi = so

 

return so_lon_nhi if so_lon_nhi != float(‘-inf’) else None

 

# 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ìm số lớn nhì

so_lon_nhi = tim_so_lon_nhi_toi_uu(mang)

print(“Số nguyên lớn nhì trong mảng:”, so_lon_nhi)

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Dùng list comprehension + maxO(n)Dễ hiểu, code ngắn gọnTốn bộ nhớ nếu danh sách lớn
Vòng lặp duy nhấtO(n)Tối ưu hơn về bộ nhớ và hiệu suấtCần nhiều dòng code hơn

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: 10

Nhập phần tử thứ 2: 20

Nhập phần tử thứ 3: 5

Nhập phần tử thứ 4: 8

Nhập phần tử thứ 5: 20

Nhập phần tử thứ 6: 15

Số nguyên lớn nhì trong mảng: 15

Kết Luận

Bài viết đã hướng dẫn cách tìm số nguyên lớn nhì trong mảng bằng hai phương pháp:

  • Cách cơ bản: Dùng list comprehension và hàm max, dễ hiểu nhưng tốn bộ nhớ hơn.
  • Cách tối ưu: Dùng vòng lặp duy nhất để tìm trực tiếp, giúp tiết kiệm bộ nhớ và tăng hiệu suất.

Hy vọng bài viết hữu ích cho bạ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

 

Khóa học Python online từ cơ bản đến nâng cao

52 Học Python – Tìm số âm lớn nhất trong mảng mới nhất

Bài 52: Tìm số âm lớn nhất trong mảng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để tìm số âm lớn nhất trong một mảng số nguyên.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Thực Hiện

  1. Duyệt qua tất cả các phần tử trong mảng.
  2. Lọc ra các số âm.
  3. Tìm số lớn nhất trong các số âm đó.

Chương Trình Python

Cách 1: Sử dụng vòng lặp đơn giản

 

# Hàm tìm số âm lớn nhất trong mảng

def tim_so_am_lon_nhat(mang):

    so_am = [so for so in mang if so < 0]  # Lọc ra các số âm

    return max(so_am, default=None)  # Tìm số lớn nhất hoặc trả về None nếu không có số âm




# 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ìm số âm lớn nhất

so_am_lon_nhat = tim_so_am_lon_nhat(mang)

print("Số âm lớn nhất trong mảng:", so_am_lon_nhat)

 

Cách 2: Tối ưu hóa bằng vòng lặp duy nhất

 

# Hàm tìm số âm lớn nhất trong mảng tối ưu

def tim_so_am_lon_nhat_toi_uu(mang):

    so_am_lon_nhat = None

    for so in mang:

        if so < 0 and (so_am_lon_nhat is None or so > so_am_lon_nhat):

            so_am_lon_nhat = so

    return so_am_lon_nhat




# 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ìm số âm lớn nhất

so_am_lon_nhat = tim_so_am_lon_nhat_toi_uu(mang)

print("Số âm lớn nhất trong mảng:", so_am_lon_nhat)

 

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Dùng list comprehension + maxO(n)Dễ hiểu, code ngắn gọnTốn bộ nhớ nếu danh sách lớn
Vòng lặp duy nhấtO(n)Tối ưu hơn về bộ nhớCần nhiều dòng code hơn

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: -3

Nhập phần tử thứ 2: -7

Nhập phần tử thứ 3: 10

Nhập phần tử thứ 4: -1

Nhập phần tử thứ 5: 5

Nhập phần tử thứ 6: -8

Số âm lớn nhất trong mảng: -1

Kết Luận

Bài viết đã hướng dẫn cách tìm số âm lớn nhất trong mảng bằng hai phương pháp:

  • Cách cơ bản: Dùng list comprehension và hàm max, dễ hiểu nhưng tốn bộ nhớ hơn.
  • Cách tối ưu: Dùng vòng lặp duy nhất để tìm trực tiếp, giúp tiết kiệm bộ nhớ.

Hy vọng bài viết hữu ích cho bạ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

 

Khóa học Python online từ cơ bản đến nâng cao

51 Học Python – Tìm số nguyên tố lớn nhất trong mảng mới nhất

Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để tìm các số nguyên tố trong một mảng và tính trung bình cộng của chúng. Số nguyên tố là số lớn hơn 1 và chỉ chia hết cho 1 và chính nó.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Xác Định Số Nguyên Tố

Một số là nguyên tố nếu:

  • Lớn hơn 1.
  • Không chia hết cho bất kỳ số nào khác ngoài 1 và chính nó.

Chúng ta sẽ sử dụng hai cách để kiểm tra số nguyên tố:

  1. Cách cơ bản sử dụng vòng lặp kiểm tra từng số.
  2. Cách tối ưu hóa sử dụng thuật toán Sàng Eratosthenes.

Chương Trình Python

Cách 1: Kiểm tra từng số (Cách cơ bản)

 

# Hàm kiểm tra số nguyên tố (Cách cơ bản)

def la_so_nguyen_to(so):

    if so < 2:

        return False

    for i in range(2, int(so**0.5) + 1):

        if so % i == 0:

            return False

    return True




# Hàm tìm các số nguyên tố trong mảng và tính trung bình

def tinh_trung_binh_so_nguyen_to(mang):

    danh_sach_nguyen_to = [so for so in mang if la_so_nguyen_to(so)]

    if len(danh_sach_nguyen_to) == 0:

        return 0

    return sum(danh_sach_nguyen_to) / len(danh_sach_nguyen_to)




# 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 số nguyên tố

trung_binh = tinh_trung_binh_so_nguyen_to(mang)

print("Trung bình cộng các số nguyên tố trong mảng:", trung_binh)

 

Cách 2: Tối ưu hóa với thuật toán Sàng Eratosthenes

 

# Hàm Sàng Eratosthenes để tìm số nguyên tố nhanh hơn

def sang_eratosthenes(gioi_han):

    la_so_nguyen_to = [True] * (gioi_han + 1)

    la_so_nguyen_to[0], la_so_nguyen_to[1] = False, False

    for i in range(2, int(gioi_han**0.5) + 1):

        if la_so_nguyen_to[i]:

            for j in range(i * i, gioi_han + 1, i):

                la_so_nguyen_to[j] = False

    return {x for x in range(gioi_han + 1) if la_so_nguyen_to[x]}




# Hàm tìm số nguyên tố và tính trung bình sử dụng Sàng Eratosthenes

def tinh_trung_binh_so_nguyen_to_toi_uu(mang):

    if not mang:

        return 0

    gioi_han = max(mang)

    tap_nguyen_to = sang_eratosthenes(gioi_han)

    danh_sach_nguyen_to = [so for so in mang if so in tap_nguyen_to]

    if len(danh_sach_nguyen_to) == 0:

        return 0

    return sum(danh_sach_nguyen_to) / len(danh_sach_nguyen_to)




# 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 số nguyên tố

trung_binh = tinh_trung_binh_so_nguyen_to_toi_uu(mang)

print("Trung bình cộng các số nguyên tố trong mảng:", trung_binh)

 

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Kiểm tra từng sốO(n√m)Dễ hiểu, dễ triển khaiChậm khi mảng có số lớn
Sàng EratosthenesO(m log log m)Tốc độ nhanh hơn với nhiều sốTốn bộ nhớ hơn

Trong đó:

  • n là số lượng phần tử trong mảng.
  • m là số lớn nhất trong mảng.

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: 3

Nhập phần tử thứ 2: 7

Nhập phần tử thứ 3: 10

Nhập phần tử thứ 4: 13

Nhập phần tử thứ 5: 17

Nhập phần tử thứ 6: 20

Trung bình cộng các số nguyên tố trong mảng: 10.0

Kết Luận

Bài viết đã hướng dẫn cách tính trung bình cộng số nguyên tố trong mảng bằng hai cách:

  • Cách cơ bản: Kiểm tra từng số, phù hợp với mảng nhỏ.
  • Cách tối ưu hóa: Sử dụng Sàng Eratosthenes, nhanh hơn khi mảng chứa số lớn.

Hy vọng bài viết hữu ích cho bạ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

 

Khóa học Python online từ cơ bản đến nâng cao

50 Học Python – Tính trung bình các số nguyên tố trong mảng

Bài 50: In ra các số nguyên tố trong mảng và tính tổng của chúng bằng Python

Giới Thiệu

Trong bài viết này, chúng ta sẽ viết chương trình Python để tìm các số nguyên tố trong một mảng và tính tổng của chúng. Số nguyên tố là số lớn hơn 1 và chỉ chia hết cho 1 và chính nó.

Khuyến mãi lớn thêm danh sách 10 bài tập python rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 51 : Tính trung bình các số nguyên tố trong mảng bằng Python
  2. Bài 52: Tìm số âm lớn nhất trong mảng bằng Python
  3. Bài 53: Tìm số nguyên lớn nhì trong mảng bằng Python
  4. Bài 54: Tìm số nguyên nhỏ thứ 3 trong mảng bằng Python
  5. Bài 55: Đếm số lượng số nguyên khác nhau trong mảng bằng Python
  6. Bài 56: Đếm số lần xuất hiện của từng số trong mảng bằng Python
  7. Bài 57: Tìm số nguyên xuất hiện nhiều lần nhất trong mảng bằng Python
  8. Bài 58 Tính trung bình cộng các số chính phương trong mảng bằng Python
  9. Bài 59: In ra câu “Chao HoTen” bằng Python
  10. Bài 60: Viết xâu theo thứ tự ngược lại bằng Python

Cách Xác Định Số Nguyên Tố

Một số là nguyên tố nếu:

  • Lớn hơn 1.
  • Không chia hết cho bất kỳ số nào khác ngoài 1 và chính nó.

Chúng ta sẽ sử dụng hai cách để kiểm tra số nguyên tố:

  1. Cách cơ bản sử dụng vòng lặp kiểm tra từng số.
  2. Cách tối ưu hóa sử dụng thuật toán Sàng Eratosthenes.

Chương Trình Python

Cách 1: Kiểm tra từng số (Cách cơ bản)

 

# Hàm kiểm tra số nguyên tố (Cách cơ bản)

def la_so_nguyen_to(so):

    if so < 2:

        return False

    for i in range(2, int(so**0.5) + 1):

        if so % i == 0:

            return False

    return True




# Hàm tìm các số nguyên tố trong mảng và tính tổng

def tim_va_tinh_tong_so_nguyen_to(mang):

    danh_sach_nguyen_to = [so for so in mang if la_so_nguyen_to(so)]

    tong = sum(danh_sach_nguyen_to)

    return danh_sach_nguyen_to, tong




# 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ìm và tính tổng số nguyên tố

danh_sach_nguyen_to, tong = tim_va_tinh_tong_so_nguyen_to(mang)

print("Các số nguyên tố trong mảng:", danh_sach_nguyen_to)

print("Tổng các số nguyên tố trong mảng:", tong)

 

Cách 2: Tối ưu hóa với thuật toán Sàng Eratosthenes

 

# Hàm Sàng Eratosthenes để tìm số nguyên tố nhanh hơn

def sang_eratosthenes(gioi_han):

    la_so_nguyen_to = [True] * (gioi_han + 1)

    la_so_nguyen_to[0], la_so_nguyen_to[1] = False, False

    for i in range(2, int(gioi_han**0.5) + 1):

        if la_so_nguyen_to[i]:

            for j in range(i * i, gioi_han + 1, i):

                la_so_nguyen_to[j] = False

    return {x for x in range(gioi_han + 1) if la_so_nguyen_to[x]}




# Hàm tìm số nguyên tố và tính tổng sử dụng Sàng Eratosthenes

def tim_va_tinh_tong_so_nguyen_to_toi_uu(mang):

    if not mang:

        return [], 0

    gioi_han = max(mang)

    tap_nguyen_to = sang_eratosthenes(gioi_han)

    danh_sach_nguyen_to = [so for so in mang if so in tap_nguyen_to]

    tong = sum(danh_sach_nguyen_to)

    return danh_sach_nguyen_to, tong




# 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ìm và tính tổng số nguyên tố

danh_sach_nguyen_to, tong = tim_va_tinh_tong_so_nguyen_to_toi_uu(mang)

print("Các số nguyên tố trong mảng:", danh_sach_nguyen_to)

print("Tổng các số nguyên tố trong mảng:", tong)

 

So Sánh Hai Cách

Phương phápĐộ phức tạpƯu điểmNhược điểm
Kiểm tra từng sốO(n√m)Dễ hiểu, dễ triển khaiChậm khi mảng có số lớn
Sàng EratosthenesO(m log log m)Tốc độ nhanh hơn với nhiều sốTốn bộ nhớ hơn

Trong đó:

  • n là số lượng phần tử trong mảng.
  • m là số lớn nhất trong mảng.

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: 3

Nhập phần tử thứ 2: 7

Nhập phần tử thứ 3: 10

Nhập phần tử thứ 4: 13

Nhập phần tử thứ 5: 17

Nhập phần tử thứ 6: 20

Các số nguyên tố trong mảng: [3, 7, 13, 17]

Tổng các số nguyên tố trong mảng: 40

Kết Luận

Bài viết đã hướng dẫn cách tìm số nguyên tố trong mảng và tính tổng của chúng bằng hai cách:

  • Cách cơ bản: Kiểm tra từng số, phù hợp với mảng nhỏ.
  • Cách tối ưu hóa: Sử dụng Sàng Eratosthenes, nhanh hơn khi mảng chứa số lớn.

Hy vọng bài viết hữu ích cho bạ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

 

Khóa học Python online từ cơ bản đến nâng cao

49 Học Python – In ra các số nguyên tố trong mảng và tổng

Bài 49: Sắp xếp mảng theo thứ tự tăng dần bằng Python

Giới Thiệu

  • Sắp xếp mảng theo thứ tự tăng dần là một bài toán cơ bản trong lập trình.
  • Có nhiều thuật toán có thể thực hiện nhiệm vụ này, từ đơn giản đến tối ưu hóa.
  • Trong bài viết này, chúng ta sẽ triển khai hai cách sắp xếp mảng: cách cơ bản với thuật toán Sắp xếp nổi bọt (Bubble Sort) và cách tối ưu hóa sử dụng thuật toán Sắp xếp nhanh (QuickSort).

Ưu Đãi lớn thêm danh sách 10 bài tập python  rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 41: Đếm số chẵn trong mảng bằng Python
  2. Bài 42: Tính tổng các phần tử ở vị trí chẵn trong mảng bằng Python
  3. Bài 43: Tính tổng các phần tử có giá trị chẵn trong mảng bằng Python
  4. Bài 44: Tìm số x trong mảng bằng Python
  5. Bài 45 : Đếm và in dãy số dương, số âm trong mảng bằng Python
  6. Bài 46: In ra những số chia hết cho 5 và tổng của chúng trong mảng bằng Python
  7. Bài 47 : Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python
  8. Bài 48: Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python
  9. Bài 49: Sắp xếp mảng theo thứ tự tăng dần bằng Python
  10. Bài 50: In ra các số nguyên tố trong mảng và tính tổng của chúng bằng Python

Cách 1: Sử Dụng Thuật Toán Sắp Xếp Nổi Bọt (Đơn Giản)

 

# Hàm sắp xếp mảng theo thứ tự tăng dần bằng Sắp xếp nổi bọt

def sap_xep_noi_bot(mang):

    n = len(mang)

    for i in range(n - 1):

        for j in range(n - 1 - i):

            if mang[j] > mang[j + 1]:

                mang[j], mang[j + 1] = mang[j + 1], mang[j]  # Hoán đổi vị trí




# 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)]




# Gọi hàm sắp xếp

sap_xep_noi_bot(mang)

print("Mảng sau khi sắp xếp tăng dần:", mang)

 

Giải Thích:

  • Sắp xếp nổi bọt là một thuật toán sắp xếp đơn giản.
  • So sánh từng cặp phần tử và hoán đổi nếu phần tử trước lớn hơn phần tử sau.
  • Nhược điểm: Hiệu suất kém với mảng lớn (độ phức tạp O(n²)).

Cách 2: Sử Dụng Thuật Toán Sắp Xếp Nhanh (Tối Ưu Hóa)

 

# Hàm sắp xếp mảng theo thứ tự tăng dần bằng Sắp xếp nhanh

def sap_xep_nhanh(mang):

    if len(mang) <= 1:

        return mang

    chot = mang[len(mang) // 2]  # Chọn phần tử làm chốt

    trai = [x for x in mang if x < chot]

    giua = [x for x in mang if x == chot]

    phai = [x for x in mang if x > chot]

    return sap_xep_nhanh(trai) + giua + sap_xep_nhanh(phai)




# 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)]




# Gọi hàm sắp xếp

mang_sap_xep = sap_xep_nhanh(mang)

print("Mảng sau khi sắp xếp tăng dần:", mang_sap_xep)

 

Giải Thích:

  • Sắp xếp nhanh chia nhỏ mảng thành các phần nhỏ hơn dựa vào chốt và sắp xếp đệ quy.
  • Độ phức tạp trung bình O(n log n), nhanh hơn nhiều so với Sắp xếp nổi bọt.
  • Hiệu suất cao với các tập dữ liệu lớn.

So Sánh Hai Cách

Phương phápĐộ phức tạpHiệu suất
Sắp xếp nổi bọtO(n²)Chậm với mảng lớn
Sắp xếp nhanhO(n log n)Nhanh hơn, tối ưu hơn

Ứng Dụng

  • Sắp xếp nổi bọt phù hợp khi dữ liệu nhỏ hoặc cần thuật toán dễ hiểu.
  • Sắp xếp nhanh phù hợp khi cần hiệu suất cao với tập dữ liệu lớn.

Kết Luận

Cả hai thuật toán đều giúp sắp xếp mảng theo thứ tự tăng dần. Nếu bạn làm việc với dữ liệu nhỏ, Sắp xếp nổi bọt có thể đủ dùng. Nhưng nếu xử lý dữ liệu lớn, Sắp xếp nhanh là lựa chọn tối ưu. Hãy thử nghiệm và lựa chọn thuật toán phù hợp cho từng trường hợp cụ thể!

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

 

Khóa học Python online từ cơ bản đến nâng cao

48 Học Python – Sắp xếp mảng theo thứ tự tăng dần mới nhất

Bài 48: Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python

Giới Thiệu

Khi làm việc với mảng số nguyên, một trong những bài toán cơ bản là tìm phần tử lớn nhất đầu tiên xuất hiện trong mảng và vị trí của nó. Điều này giúp chúng ta hiểu được cách truy xuất dữ liệu một cách tối ưu và ứng dụng trong nhiều bài toán thực tế.

Trong bài viết này, chúng ta sẽ viết hai chương trình Python: một cách đơn giản và một phiên bản tối ưu hóa để giải quyết bài toán này.

Ưu Đãi lớn thêm danh sách 10 bài tập python  rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 41: Đếm số chẵn trong mảng bằng Python
  2. Bài 42: Tính tổng các phần tử ở vị trí chẵn trong mảng bằng Python
  3. Bài 43: Tính tổng các phần tử có giá trị chẵn trong mảng bằng Python
  4. Bài 44: Tìm số x trong mảng bằng Python
  5. Bài 45 : Đếm và in dãy số dương, số âm trong mảng bằng Python
  6. Bài 46: In ra những số chia hết cho 5 và tổng của chúng trong mảng bằng Python
  7. Bài 47 : Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python
  8. Bài 48: Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python
  9. Bài 49: Sắp xếp mảng theo thứ tự tăng dần bằng Python
  10. Bài 50: In ra các số nguyên tố trong mảng và tính tổng của chúng bằng Python

Cách 1: Chương Trình Đơn Giản

 

# Hàm tìm phần tử lớn nhất đầu tiên và vị trí của nó (cách đơn giản)
def tim_max_va_vi_tri(arr):
    max_value = max(arr)  # Tìm giá trị lớn nhất
    vi_tri = arr.index(max_value)  # Tìm vị trí đầu tiên của giá trị lớn nhất
    print(f"Phần tử lớn nhất đầu tiên trong mảng: {max_value}")
    print(f"Vị trí của phần tử lớn nhất: {vi_tri}")
# 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: "))
# Nhập các phần tử của mảng từ người dùng
danh_sach = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]
# Gọi hàm xử lý
tim_max_va_vi_tri(danh_sach)

Giải Thích:

  • Hàm max(arr) tìm phần tử lớn nhất trong mảng.
  • Hàm arr.index(max_value) tìm vị trí đầu tiên của phần tử lớn nhất.
  • Nhược điểm: Duyệt mảng hai lần, một lần để tìm max, một lần để tìm vị trí.

Cách 2: Chương Trình Tối Ưu Hóa

# Hàm tìm phần tử lớn nhất đầu tiên và vị trí của nó (tối ưu hóa)

 

def tim_max_va_vi_tri(arr):
    if not arr:
        print("Mảng rỗng!")
        return
    max_value = arr[0]  # Giả sử phần tử đầu tiên là lớn nhất
    vi_tri = 0  # Lưu vị trí của phần tử lớn nhất
    for i in range(1, len(arr)):
        if arr[i] > max_value:
            max_value = arr[i]
            vi_tri = i  # Cập nhật vị trí mới của phần tử lớn nhất
    print(f"Phần tử lớn nhất đầu tiên trong mảng: {max_value}")
    print(f"Vị trí của phần tử lớn nhất: {vi_tri}")
# 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: "))
# Nhập các phần tử của mảng từ người dùng
danh_sach = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]
# Gọi hàm xử lý
tim_max_va_vi_tri(danh_sach)

 

Giải Thích:

  • Duyệt mảng chỉ một lần thay vì hai lần như cách đơn giản.
  • Giữ giá trị lớn nhất và vị trí của nó ngay trong vòng lặp, giúp tăng tốc độ thực thi.

So Sánh Hai Cách

Phương phápSố lần duyệt mảngHiệu suất
Cách đơn giản (dùng max() và index())2 lầnChậm hơn
Cách tối ưu (duyệt một lần)1 lầnNhanh hơn

Ứng Dụng

  • Tìm điểm cao nhất trong tập dữ liệu.
  • Xác định giá trị lớn nhất đầu tiên xuất hiện trong danh sách.
  • Ứng dụng trong xử lý dữ liệu và phân tích số liệu.

Kết Luận

Cả hai cách đều có thể giải quyết bài toán tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của nó. Tuy nhiên, cách tối ưu giúp chương trình chạy nhanh hơn và tiết kiệm tài nguyên hơn khi làm việc với tập dữ liệu lớn. Hãy thử nghiệm với các bộ dữ liệu khác nhau để kiểm chứng!

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

 

Khóa học Python online từ cơ bản đến nâng cao

47 Học Python – Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí

Bài 47 : Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python

Giới Thiệu

Khi làm việc với mảng số nguyên, một trong những bài toán cơ bản là tìm phần tử lớn nhất đầu tiên xuất hiện trong mảng và vị trí của nó. Điều này giúp chúng ta hiểu được cách truy xuất dữ liệu một cách tối ưu và ứng dụng trong nhiều bài toán thực tế.

Trong bài viết này, chúng ta sẽ viết một chương trình Python để thực hiện điều này một cách hiệu quả.

Ưu Đãi lớn thêm danh sách 10 bài tập python  rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 41: Đếm số chẵn trong mảng bằng Python
  2. Bài 42: Tính tổng các phần tử ở vị trí chẵn trong mảng bằng Python
  3. Bài 43: Tính tổng các phần tử có giá trị chẵn trong mảng bằng Python
  4. Bài 44: Tìm số x trong mảng bằng Python
  5. Bài 45 : Đếm và in dãy số dương, số âm trong mảng bằng Python
  6. Bài 46: In ra những số chia hết cho 5 và tổng của chúng trong mảng bằng Python
  7. Bài 47 : Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python
  8. Bài 48: Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python
  9. Bài 49: Sắp xếp mảng theo thứ tự tăng dần bằng Python
  10. Bài 50: In ra các số nguyên tố trong mảng và tính tổng của chúng bằng Python

Phương Pháp

  1. Duyệt mảng một lần: Kiểm tra từng phần tử để tìm giá trị lớn nhất.
  2. Ghi nhận giá trị lớn nhất và vị trí đầu tiên xuất hiện của nó.
  3. Tối ưu bằng cách không duyệt lại mảng nhiều lần.

Viết Chương Trình Python (Tối Ưu Hóa)

 

# Hàm tìm phần tử lớn nhất đầu tiên và vị trí của nó
def tim_max_va_vi_tri(arr):
    if not arr:
        print("Mảng rỗng!")
        return
    max_value = arr[0]  # Giả sử phần tử đầu tiên là lớn nhất
    vi_tri = 0  # Lưu vị trí của phần tử lớn nhất
    for i in range(1, len(arr)):
        if arr[i] > max_value:
            max_value = arr[i]
            vi_tri = i  # Cập nhật vị trí mới của phần tử lớn nhất
    print(f"Phần tử lớn nhất đầu tiên trong mảng: {max_value}")
    print(f"Vị trí của phần tử lớn nhất: {vi_tri}")
# 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: "))
# Nhập các phần tử của mảng từ người dùng
danh_sach = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]
# Gọi hàm xử lý
tim_max_va_vi_tri(danh_sach)

Giải Thích Chương Trình

  • Hàm tim_max_va_vi_tri(arr):
    • Kiểm tra mảng có rỗng không.
    • Duyệt qua mảng chỉ một lần để tìm giá trị lớn nhất và vị trí đầu tiên của nó.
    • Cập nhật giá trị lớn nhất và vị trí khi tìm thấy phần tử lớn hơn.
  • Tối ưu nhập dữ liệu: Sử dụng list comprehension để nhập dữ liệu nhanh hơn.
  • Xử lý và xuất kết quả: Hiển thị phần tử lớn nhất đầu tiên và vị trí của nó trong mảng.

Ứng Dụng

  • Tìm điểm cao nhất trong tập dữ liệu.
  • Xác định giá trị lớn nhất đầu tiên xuất hiện trong danh sách.
  • Ứng dụng trong xử lý dữ liệu và phân tích số liệu.

Kết Luận

Chương trình trên giúp tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của nó một cách hiệu quả. Cách tiếp cận này giúp tối ưu hóa thời gian xử lý và tránh duyệt lại mảng không cần thiết. Hãy thử nghiệm với các bộ dữ liệu khác nhau để kiểm chứng!

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

 

Khóa học Python online từ cơ bản đến nâng cao

46 Học Python – In ra những số chia hết cho 5 và tổng của chúng

Bài 46: In ra những số chia hết cho 5 và tổng của chúng trong mảng bằng Python

Giới Thiệu

Mảng (hay danh sách trong Python) là một tập hợp các phần tử có thể được xử lý cùng nhau. Một trong những thao tác quan trọng khi làm việc với mảng là tìm các số chia hết cho một số cụ thể và tính tổng của chúng.

Trong bài viết này, chúng ta sẽ viết một chương trình Python để tìm các số chia hết cho 5 trong mảng số nguyên và tính tổng của chúng.

Ưu Đãi lớn thêm danh sách 10 bài tập python  rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 41: Đếm số chẵn trong mảng bằng Python
  2. Bài 42: Tính tổng các phần tử ở vị trí chẵn trong mảng bằng Python
  3. Bài 43: Tính tổng các phần tử có giá trị chẵn trong mảng bằng Python
  4. Bài 44: Tìm số x trong mảng bằng Python
  5. Bài 45 : Đếm và in dãy số dương, số âm trong mảng bằng Python
  6. Bài 46: In ra những số chia hết cho 5 và tổng của chúng trong mảng bằng Python
  7. Bài 47 : Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python
  8. Bài 48: Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python
  9. Bài 49: Sắp xếp mảng theo thứ tự tăng dần bằng Python
  10. Bài 50: In ra các số nguyên tố trong mảng và tính tổng của chúng bằng Python

Phương Pháp

  1. Duyệt qua mảng: Kiểm tra từng phần tử xem có chia hết cho 5 hay không.
  2. Lưu trữ các số chia hết cho 5 vào danh sách riêng.
  3. Tính tổng các số tìm được.

Viết Chương Trình Python

 

# Hàm tìm các số chia hết cho 5 và tính tổng của chúng
def tim_va_tinh_tong_so_chia_het_cho_5(arr):
    so_chia_het_cho_5 = [x for x in arr if x % 5 == 0]
    tong = sum(so_chia_het_cho_5)
    print(f"Các số chia hết cho 5: {so_chia_het_cho_5}")
    print(f"Tổng các số chia hết cho 5: {tong}")
# 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: "))
# Nhập các phần tử của mảng từ người dùng
mang = []
for i in range(n):
    gia_tri = int(input(f"Nhập phần tử thứ {i+1}: "))
    mang.append(gia_tri)
# Gọi hàm xử lý
tim_va_tinh_tong_so_chia_het_cho_5(mang)

Giải Thích Chương Trình

  • Hàm tim_va_tinh_tong_so_chia_het_cho_5(arr):
    • Tạo danh sách chứa các số chia hết cho 5 bằng list comprehension.
    • Tính tổng các số đó bằng hàm sum().
    • In danh sách các số chia hết cho 5 và tổng của chúng.
  • Nhập dữ liệu: Người dùng nhập số lượng phần tử của mảng và từng phần tử.
  • Xử lý và xuất kết quả: Hiển thị danh sách số chia hết cho 5 và tổng của chúng.

Phương Pháp Tối ưu hoá:

  1. Duyệt qua mảng một lần duy nhất: Sử dụng vòng lặp để kiểm tra từng phần tử có chia hết cho 5 hay không và đồng thời tính tổng ngay trong quá trình duyệt, giúp tối ưu hiệu suất.
  2. Tránh sử dụng danh sách trung gian nếu không cần thiết.
  3. Sử dụng hàm filter() để lọc nhanh danh sách nếu cần.

Viết Chương Trình Python (Tối Ưu Hóa)

 

# Hàm tìm các số chia hết cho 5 và tính tổng của chúng
def tim_va_tinh_tong_so_chia_het_cho_5(arr):
    tong = 0
    so_chia_het_cho_5 = []
    for x in arr:
        if x % 5 == 0:
            so_chia_het_cho_5.append(x)
            tong += x  # Cộng dồn ngay trong vòng lặp
    print(f"Các số chia hết cho 5: {so_chia_het_cho_5}")
    print(f"Tổng các số chia hết cho 5: {tong}")
# 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: "))
# Nhập các phần tử của mảng từ người dùng bằng list comprehension
danh_sach = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]
# Gọi hàm xử lý
tim_va_tinh_tong_so_chia_het_cho_5(danh_sach)

Giải Thích Chương Trình

  • Hàm tim_va_tinh_tong_so_chia_het_cho_5(arr):
    • Duyệt mảng chỉ một lần, giúp giảm thời gian xử lý.
    • Cộng dồn giá trị ngay trong vòng lặp thay vì tạo danh sách trung gian rồi tính tổng.
  • Tối ưu nhập dữ liệu: Sử dụng list comprehension để nhập dữ liệu nhanh hơn.
  • Xử lý và xuất kết quả: Hiển thị danh sách số chia hết cho 5 và tổng của chúng.

Ứng Dụng

  • Lọc dữ liệu trong danh sách số liệu.
  • Tính tổng của các số có tính chất đặc biệt.
  • Ứng dụng trong phân tích dữ liệu và thống kê.

Kết Luận

Chương trình trên giúp tìm các số chia hết cho 5 trong mảng và tính tổng của chúng một cách đơn giản và hiệu quả. Việc sử dụng list comprehension giúp tối ưu hóa quá trình xử lý dữ liệu. Hãy thử nghiệm với các bộ dữ liệu khác nhau để kiểm chứng!

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

 

Khóa học Python online từ cơ bản đến nâng cao

45 Học Python – Đếm và in dãy số dương, số âm trong mảng

Bài 45 : Đếm và in dãy số dương, số âm trong mảng bằng Python

Giới Thiệu

Mảng (hay danh sách trong Python) là một tập hợp các phần tử có thể được xử lý cùng nhau. Một trong những thao tác quan trọng khi làm việc với mảng là phân loại và đếm số lượng số dương và số âm.

Trong bài viết này, chúng ta sẽ viết một chương trình Python để đếm và in ra danh sách các số dương và số âm trong một mảng số nguyên.

Ưu Đãi lớn thêm danh sách 10 bài tập python  rèn luyện kỹ năng và nâng cao tay nghề:

  1. Bài 41: Đếm số chẵn trong mảng bằng Python
  2. Bài 42: Tính tổng các phần tử ở vị trí chẵn trong mảng bằng Python
  3. Bài 43: Tính tổng các phần tử có giá trị chẵn trong mảng bằng Python
  4. Bài 44: Tìm số x trong mảng bằng Python
  5. Bài 45 : Đếm và in dãy số dương, số âm trong mảng bằng Python
  6. Bài 46: In ra những số chia hết cho 5 và tổng của chúng trong mảng bằng Python
  7. Bài 47 : Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python
  8. Bài 48: Tìm phần tử lớn nhất đầu tiên trong mảng và vị trí của phần tử đó bằng Python
  9. Bài 49: Sắp xếp mảng theo thứ tự tăng dần bằng Python
  10. Bài 50: In ra các số nguyên tố trong mảng và tính tổng của chúng bằng Python

Phương Pháp

  1. Duyệt qua mảng: Kiểm tra từng phần tử để xác định nó là số dương hay số âm.
  2. Lưu trữ các số dương và số âm vào danh sách riêng.
  3. Đếm số lượng số dương và số âm.

Viết Chương Trình Python 

# Hàm đếm và in các số dương, số âm trong mảng
def dem_va_in_so_duong_am(arr):

    so_duong = [x for x in arr if x > 0]

    so_am = [x for x in arr if x < 0]

    print(f"Danh sách số dương: {so_duong}")

    print(f"Số lượng số dương: {len(so_duong)}")

    print(f"Danh sách số âm: {so_am}")

    print(f"Số lượng số âm: {len(so_am)}")

# 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: "))

# Nhập các phần tử của mảng từ người dùng

mang = []

for i in range(n):

    gia_tri = int(input(f"Nhập phần tử thứ {i+1}: "))

    mang.append(gia_tri)

# Gọi hàm xử lý

dem_va_in_so_duong_am(mang)

 

Giải Thích Chương Trình

  • Hàm dem_va_in_so_duong_am(arr):
    • Tạo danh sách số dương bằng list comprehension.
    • Tạo danh sách số âm bằng list comprehension.
    • In danh sách các số dương và số âm.
    • Đếm số lượng phần tử trong mỗi danh sách.
  • Nhập dữ liệu: Người dùng nhập số lượng phần tử của mảng và từng phần tử.
  • Xử lý và xuất kết quả: Hiển thị danh sách số dương, số âm cùng số lượng tương ứng.

Ứng Dụng

  • Phân loại dữ liệu trong danh sách số liệu.
  • Hỗ trợ các thuật toán phân tích dữ liệu.
  • Ứng dụng trong khoa học dữ liệu và tài chính.

Kết Luận

Chương trình trên giúp phân loại và đếm số dương, số âm trong mảng một cách đơn giản và hiệu quả. Việc sử dụng list comprehension giúp tối ưu hóa quá trình xử lý dữ liệu. Hãy thử nghiệm với các bộ dữ liệu khác nhau để kiểm chứng!

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

 

Khóa học Python online từ cơ bản đến nâng cao