Điều kiện lồng nhau và xử lý lỗi

Bài 6/6 · khoảng 8 phút đọc

Điều kiện lồng nhau

Một if có thể nằm bên trong if khác — mỗi cấp thụt thêm 4 dấu cách:

Python
n = int(input())
if n > 0:
if n % 2 == 0:
print("Số dương chẵn")
else:
print("Số dương lẻ")
else:
print("Không phải số dương")

Thường có thể viết gọn hơn bằng and:

Python
n = int(input())
if n > 0 and n % 2 == 0:
print("Số dương chẵn")

Hãy chọn cách nào dễ đọc hơn với bạn.

Xử lý tình huống bất thường: try / except

Người dùng có thể gõ sai. Nếu họ gõ chữ khi bạn cần số, int() sẽ báo lỗi và chương trình dừng đột ngột:

Python · ví dụ lỗi
so = int(input("Nhập một số: "))
print("Gấp đôi:", so * 2)

Với try … except, ta "thử" chạy và bắt lỗi nếu có:

Python
try:
so = int(input("Nhập một số: "))
print("Gấp đôi:", so * 2)
except ValueError:
print("Đó không phải là số, bạn nhập lại nhé!")

Cách hoạt động: Python chạy khối try; nếu phát sinh ValueError thì nhảy ngay sang khối except, chương trình tiếp tục thay vì dừng.

Ghi nhớ: if có thể lồng nhau (thụt thêm mỗi cấp). try/except giúp chương trình không bị dừng khi gặp lỗi có thể đoán trước.

Khi nào nên dùng try/except?

Khi có thể xảy ra lỗi do dữ liệu bên ngoài (người dùng gõ sai, tệp không tồn tại…) và bạn muốn xử lý nhẹ nhàng thay vì để chương trình dừng.

Điều kiện lồng nhau và xử lý lỗi · Lý thuyết Python · PyKid