--------------- <> -----------------
--- KHOA HỌC - CÔNG NGHỆ - GIÁO DỤC - VIỆC LÀM ---
--- Học để đi cùng bà con trên thế giới ---

Tìm kiếm trong Blog

Python (14) - Lệnh điều kiện

Bài trước: Python (13) - Kiểu dữ liệu Boolean
-----

14. Lệnh điều kiện

Ở bài trước, bạn đã biết cách so sánh để trả về kết quả True hoặc False. Nhưng để chương trình thực sự "thông minh", nó cần biết dựa vào kết quả đó để quyết định sẽ làm gì tiếp theo. Đó chính là lúc chúng ta dùng lệnh điều kiện if.

14.1 Lệnh if là gì?

Trong cuộc sống, chúng ta luôn đưa ra quyết định dựa trên điều kiện:

- Nếu trời mưa, thì mang dù

- Nếu đủ 18 tuổi, thì được lái xe trên 50cc

Trong Python, lệnh if dùng để kiểm tra một điều kiện. Nếu điều kiện đó Đúng (True), chương trình sẽ thực hiện các câu lệnh bên trong nó. Xem sơ đồ minh họa.


Cú pháp trong Python:

if điều_kiện:

    # Các câu lệnh sẽ chạy nếu điều kiện Đúng

Lưu ý: Sau lệnh if phải có dấu hai chấm (:) và các câu lệnh bên dưới phải được thụt lề vào trong (thường là 1 phím Tab hoặc 4 dấu cách).

Ví dụ: Viết chương trình kiểm tra xem một số bạn nhập vào có phải là số dương không?

so = int(input("Nhập một số: "))


if so > 0:

    print("Đây là số dương!")

    print("Cám ơn bạn đã nhập số.")

Giải thích: Nếu bạn nhập 5, điều kiện 5 > 0True, máy sẽ in ra cả 2 dòng thông báo. Nếu bạn nhập -3, máy sẽ không hiện gì cả vì điều kiện là False.

14.2 Mở rộng với else (ngược lại)

Đôi khi bạn muốn máy tính làm việc này nếu Đúng, nhưng làm việc khác nếu Sai. Khi đó ta dùng thêm else. Xem hình minh họa.


Ví dụ:

diem = float(input("Nhập điểm của bạn: "))


if diem >= 5:

    print("Chúc mừng, bạn đã đạt!")

else:

    print("Rất tiếc, bạn cần cố gắng hơn.")


14.3 Bài tập và câu hỏi

Bài tập 14a. Kiểm tra phép chia cho 0. Trong toán học, không thể chia một số cho 0. Hãy viết chương trình yêu cầu nhập số chia. Nếu số chia bằng 0, hãy in ra cảnh báo "Lỗi: Không thể chia cho số 0!".

Đầu vào:

Nhap so chia: 0

Kết quả mong đợi:

Loi: Khong the chia cho so 0!

Bài tập 14b. Viết chương trình yêu cầu người dùng nhập một ký tự phép tính. Nếu người dùng nhập dấu cộng +, hãy yêu cầu nhập tiếp 2 số và in ra tổng của chúng.

Đầu vào:

Phep tinh: +

So thu nhat: 5

So thu 2: 7

Kết quả mong đợi:

Ket qua: 12

Bài tập 14c. Máy tính cầm tay xác nhận xóa lịch sử tính toán. Trong máy tính cầm tay (calculator) thường có nút "C" để xóa lịch sử tính toán. Viết chương trình hỏi người dùng "Bạn có muốn xóa kết quả không? (Y/N)". Nếu người dùng nhập Y hoặc y, hãy in ra "Đang xóa dữ liệu...".

Đầu vào:

Ban co muon xoa ket qua khong? (Y/N): y

Kết quả mong đợi:

Dang xoa du lieu…

Câu hỏi 14.1: Ký tự nào bắt buộc phải có ở cuối dòng lệnh if

A. Dấu chấm phẩy (;) 

B. Dấu hai chấm (:) 

C. Dấu ngoặc đơn () 

D. Không cần dấu gì

Câu hỏi 14.2: Điều gì xảy ra nếu bạn quên "thụt lề" các câu lệnh bên dưới if

A. Chương trình vẫn chạy bình thường 

B. Chương trình tự động sửa lỗi cho bạn 

C. Python sẽ báo lỗi "IndentationError" và không chạy 

D. Câu lệnh đó sẽ luôn luôn được thực hiện

Câu hỏi 14.3: Đoạn mã sau sẽ in ra gì nếu n = 10?

n = 10

if n % 2 == 0:

    print("Số chẵn")

else:

    print("Số lẻ")

A. Số lẻ 

B. 10

C. Số chẵn

D. Không in gì

14. Conditional Statements

In the previous lesson, you learned how to use comparisons to return a True or False result. However, for a program to be truly "intelligent," it needs to make decisions based on those results. This is where we use the if statement.

14.1 What is an "if" statement?

In real life, we constantly make decisions based on conditions:

- If it rains, then take an umbrella

- If you are 18 or older, then you can drive a vehicle over 50cc.

In Python, the if statement evaluates a condition. If the condition is True, the program executes the block of code inside it.

Python Syntax:

if condition:

    # Code to execute if the condition is True

Note: The if statement must end with a colon (:), and the subsequent lines of code must be indented (usually 1 Tab or 4 spaces).

Example: Write a program to check if a number entered by the user is positive.

number = int(input("Enter a number: "))


if number > 0:

    print("This is a positive number!")

    print("Thank you for entering a number.")

Explanation: If you enter 5, the condition 5 > 0 is True, so the machine prints both lines. If you enter -3, nothing happens because the condition is False.

14.2 Expanding with "else"

Sometimes you want the computer to do one thing if a condition is True, but something else if it is False. For this, we use the else statement.

Example:

score = float(input("Enter your score: "))


if score >= 5:

    print("Congratulations, you passed!")

else:

    print("Sorry, you need to try harder.")

14.3 Exercises and Quiz

Exercise 14a: Division by Zero Check

In mathematics, you cannot divide a number by zero. Write a program that asks for a divisor. If the divisor is 0, print the warning: "Error: Cannot divide by zero!".

Input: 

Enter divisor: 0

Expected Output: 

Error: Cannot divide by zero!

Exercise 14b: Simple Addition 

Write a program that asks the user for an operator. If the user enters the plus sign +, ask for two numbers and print their sum.

Input: 

Operator: +

    First number: 5

    Second number: 7

Expected Output

Result: 12

Exercise 14c: Calculator Clear History

Calculators often have a "C" button to clear history. Write a program that asks: "Do you want to clear the results? (Y/N)". If the user enters Y or y, print "Clearing data...".

Input: 

Do you want to clear the results? (Y/N): y

Expected Output

Clearing data...

Question 14.1: Which character is mandatory at the end of an if statement line? 

A. Semicolon (;) 

B. Colon (:) 

C. Parentheses () 

D. No character needed

Question 14.2: What happens if you forget to "indent" the statements below an if

A. The program runs normally 

B. The program automatically fixes the error for you 

C. Python will report an "IndentationError" and fail to run 

D. The statement will always be executed

Question 14.3: What will the following code print if n = 10?

n = 10

if n % 2 == 0:

    print("Even number")

else:

    print("Odd number")

A. Odd number 

B. 10 

C. Even number 

D. Nothing is printed

-----
Bài sau: