Trong NNLT Python để kiểm tra số tự nhiên n khác 0 là số chẵn hay lẻ, câu lệnh nào sau đây là đúng?
Đáp án đúng: C
Câu hỏi này kiểm tra kiến thức về toán tử chia lấy dư (%) và toán tử chia nguyên (//) trong Python, cũng như cách sử dụng cấu trúc điều kiện if-else để kiểm tra tính chẵn lẻ của một số.
- Toán tử % (chia lấy dư) trả về phần dư của phép chia. Nếu n % 2 == 0, nghĩa là n chia hết cho 2, vậy n là số chẵn. Ngược lại, nếu n % 2 != 0 (hoặc n % 2 == 1), n là số lẻ.
- Toán tử // (chia lấy phần nguyên) trả về phần nguyên của phép chia. Ví dụ: 5 // 2 == 2. Việc sử dụng toán tử // để kiểm tra tính chẵn lẻ là không chính xác.
Xét các đáp án:
- A: Sai. `n // 2 == 1` chỉ đúng khi n = 2 hoặc n = 3. Không thể dùng để kiểm tra mọi số chẵn/lẻ.
- B: Sai. `n // 2 == 0` chỉ đúng khi n = 0 hoặc n = 1. Không thể dùng để kiểm tra mọi số chẵn/lẻ.
- C: Đúng. `n % 2 == 0` kiểm tra xem n có chia hết cho 2 hay không. Nếu có, n là số chẵn, ngược lại là số lẻ.
- D: Sai. `n % 2 == 1` kiểm tra xem n có phải là số lẻ hay không. Đoạn code này in 'so chan' nếu n lẻ và 'so le' nếu n chẵn, ngược lại với yêu cầu đề bài.
Vậy, đáp án đúng là C.