Bài tập Python: Kiểm tra số Âm, Dương hay số 0
Bài tập Python 2: Kiểm tra số Chẵn hay Lẻ

Sau khi đã làm quen với bài toán kiểm tra âm dương, bài tập kinh điển tiếp theo mà mọi lập trình viên Python đều phải trải qua là: “Nhập số nguyên n, kiểm tra xem n là số chẵn hay số lẻ”.

Bài toán này tuy ngắn gọn nhưng lại giới thiệu một khái niệm cực kỳ quan trọng trong toán học máy tính: Toán tử chia lấy dư. Bài viết này sẽ giúp bạn nắm vững logic và cách viết code chuẩn xác nhất.

Bạn hãy tham khảo các khóa học

1. Phân tích thuật toán & Toán tử Modulo

Khác với toán học thông thường dùng phép chia, trong lập trình, để xác định tính chẵn lẻ, chúng ta sử dụng phép Chia lấy dư (ký hiệu là %).

Quy tắc logic:

  • Số Chẵn (Even): Là số chia hết cho 2 (Dư bằng 0).  n % 2 == 0

  • Số Lẻ (Odd): Là số chia cho 2 dư 1. n % 2 != 0 (hoặc n % 2 == 1)

Ví dụ:

  • 4 % 2 = 0 => 4 là số chẵn.

  • 7 % 2 = 1 => 7 là số lẻ.

2. Code Python mẫu 

Bài tập Python 2: Kiểm tra số Chẵn hay Lẻ
Bài tập Python 2: Kiểm tra số Chẵn hay Lẻ

Dưới đây là 3 cách viết code từ cơ bản đến nâng cao để bạn lựa chọn tùy theo tình huống.

Cách 1: Cách viết cơ bản 

Sử dụng cấu trúc if-else truyền thống kết hợp với toán tử %.

# 1. Nhập dữ liệu và ép kiểu sang số nguyên
n = int(input("Nhập vào số nguyên n: "))
# 2. Kiểm tra phần dư khi chia cho 2
if n % 2 == 0:
    print(f"{n} là số CHẴN.")
else:
    print(f"{n} là số LẺ.")

Cách 2: Viết tắt trên 1 dòng 

Python cho phép viết code cực ngắn gọn. Cách này thường được các lập trình viên kinh nghiệm sử dụng.

n = int(input("Nhập n: "))
print("Chẵn" if n % 2 == 0 else "Lẻ")

Cách 3: Code tối ưu xử lý lỗi 

Để tránh chương trình bị dừng đột ngột (Crash) khi người dùng nhập sai (ví dụ nhập chữ cái), hãy dùng khối try...except.

print("--- KIỂM TRA CHẴN LẺ ---")
try:
    # Bước 1: Nhập liệu an toàn
    user_input = input("Vui lòng nhập một số nguyên: ")
    n = int(user_input)
    # Bước 2: Xử lý logic
    if n % 2 == 0:
        print(f"Kết quả: {n} là số CHẴN.")
    else:
        print(f"Kết quả: {n} là số LẺ.")
except ValueError:
    # Bước 3: Báo lỗi thân thiện
    print("Lỗi: Dữ liệu nhập vào không hợp lệ. Vui lòng chỉ nhập số nguyên!")

3. Ba lỗi sai của người mới 

Trong quá trình học, rất nhiều bạn mắc phải những lỗi logic sau đây:

  1. Nhầm lẫn toán tử /%:

    • Sai: if n / 2 == 0 (Đây là phép chia lấy kết quả, ví dụ 4/2 = 2, không phải = 0).

    • Đúng: if n % 2 == 0 (Chia lấy phần dư).

  2. Nhầm lẫn phép gán = và so sánh ==:

    • Sai: if n % 2 = 0 (Dấu = dùng để gán giá trị cho biến).

    • Đúng: if n % 2 == 0 (Dấu == mới dùng để so sánh).

  3. Quên trường hợp số Âm:

    • Nhiều bạn nghĩ số âm không xét chẵn lẻ. Thực tế, -2, -4 vẫn là số chẵn; -1, -3 vẫn là số lẻ. Code mẫu ở trên đã xử lý đúng trường hợp này.

4. Câu hỏi thường gặp (FAQ)

Tổng hợp những thắc mắc phổ biến nhất về bài toán Chẵn/Lẻ:

1. Số 0 là số chẵn hay số lẻ?

Trong toán học, số 0 chia hết cho 2 (0 : 2 = 0 dư 0). Vì vậy, số 0 là số CHẴN. Code Python ở trên sẽ in ra “0 là số CHẴN” là hoàn toàn chính xác.

2. Số âm (ví dụ -5) có tính là chẵn lẻ không?

Có. Tính chẵn lẻ áp dụng cho tập hợp số nguyên, bao gồm cả số âm. Ví dụ: -4 là chẵn, -5 là lẻ.

3. Tại sao tôi nhập 4.0 máy lại báo lỗi hoặc chạy sai?

Vì bài toán chẵn lẻ thường chỉ áp dụng cho số nguyên (int). Nếu bạn nhập 4.0, Python hiểu đó là số thực (float). Để xử lý, bạn cần ép kiểu hoặc kiểm tra xem phần thập phân có bằng 0 hay không.

4. Có cách nào kiểm tra nhanh hơn toán tử % không?

Có. Với các bài toán yêu cầu hiệu suất cực cao (xử lý hàng triệu số), lập trình viên dùng toán tử Bitwise AND (&).

Code: if n & 1 == 0: print(“Chẵn”). (Tuy nhiên, với người mới học thì không cần thiết dùng cách này).

5. Tôi dùng if n % 2 == 1 để kiểm tra số lẻ có được không?

Được. Tuy nhiên, cách viết else (ngược lại của chẵn) sẽ gọn gàng và bao quát hơn.

6. Toán tử % hoạt động như thế nào?

Toán tử % trả về phần dư của phép chia. Ví dụ:

5 % 2 bằng 1 (vì 5 chia 2 được 2, dư 1).

8 % 2 bằng 0 (vì 8 chia 2 được 4, dư 0).

Tổng kết:

Kiểm tra chẵn lẻ là bài tập nền tảng giúp bạn hiểu rõ về toán tử số học trong Python. Hãy luyện tập gõ lại code để ghi nhớ cú pháp if-else và cách dùng % nhé!

Bạn xem: Bài tập Python 3: Kiểm tra số nguyên n có chia hết cho 3 không?

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *