Bài 2.1. Câu lệnh if-else
Nội dung bài học
- Mục đích sử dụng
- Cấu trúc if
- Cấu trúc if-else
- Cấu trúc if-elif
- Kết hợp nhiều điều kiện
- Bài tập thực hành
Mục đích sử dụng
- Câu lệnh if-else được sử dụng để đưa ra quyết định có thực hiện đoạn chương trình nào đó hay không.
- Câu lệnh này gồm các biến thể:
- If
- If-else
- If-elif
- Khi nào thì dùng if?
- Khi muốn rằng chỉ khi điều kiện thỏa mãn, chương trình mới được thực hiện.
- Khi nào dùng if-else?
- Khi muốn rằng nếu điều kiện thỏa mãn, ta thực hiện thao tác A.
- Ngược lại thực hiện thao tác B.
- Hai thao tác A, B thường khác nhau hoàn toàn.
- Khi nào dùng if-elif?
- Khi muốn đánh giá các điều kiện liên tiếp và có tính loại trừ nhau.
- Ví dụ 1 ngày trong tuần có thể là Thứ Hai, Thứ Ba,… hoặc Chủ Nhật. Và chỉ có thể là 1 trong 7 ngày đó.
- Khi sử dụng if-else nói chung ta có thể rút gọn biểu thức trên 1 dòng.
- Thường được sử dụng kết hợp với các phép so sánh, logic, vòng lặp.
Cấu trúc if
- Cấu trúc của if có dạng:
if condition:
do something
- Cấu trúc rút gọn:
if condition: do something
- Trong đó condition là biểu thức điều kiện có tính đúng hoặc sai.
- Biểu thức condition có thể là 1 hoặc nhiều biểu thức được kết hợp lại.
- Phần do something là phần thân của if chứa các lệnh cần thực hiện.
- Sau đây là sơ đồ khối minh họa
- Ví dụ sau minh họa việc sử dụng câu lệnh if:
# Minh họa sử dụng cấu trúc if
a = int(input("Enter a number: "))
if a % 2 == 0:
print(f"{a} is even number.")
# Cấu trúc if rút gọn:
if a % 2 == 0: print(f"{a} is odd number.")
Cấu trúc if-else
- Cấu trúc của lệnh if-else:
if condition:
do something
else:
do other thing
- Trong đó vế else sẽ cùng mức thụt đầu dòng với if.
- Nếu điều kiện trong condition thỏa mãn(True) thì phần thân của if sẽ được thực hiện.
- Ngược lại phần thân của else sẽ thực hiện.
- Từ khóa if, else bắt buộc phải viết thường hoàn toàn.
- Sau đây là sơ đồ khối minh họa cấu trúc của if-else:
- Ví dụ sử dụng if-else để kiểm tra số nguyên chẵn hay lẻ:
# Minh họa sử dụng cấu trúc if-else
a = int(input("Enter a number: "))
if a % 2 == 0:
print(f"{a} is even number.")
else:
print(f"{a} is odd number.")
# Cấu trúc if-else rút gọn
print(f"{a} is even number.") if a % 2 == 0 else print(f"{a} is odd number.")
Cấu trúc if-elif
- Cấu trúc của if-elif như sau:
if condition 1:
....do first thing
elif condition 2:
....do second thing
elif condition k:
....do kth thing
else:
....do other thing
- Trong đó các condition j là các điều kiện mang tính loại trừ nhau.
- Vế else trong cấu trúc này là tùy chọn.
- Sau đây là sơ đồ khối minh họa cấu trúc if-elif:
- Ví dụ minh họa sử dụng câu lệnh if-elif:
a = int(input("Enter first integer number: "))
b = int(input("Enter second integer number: "))
if a < b:
print(f"{a} less than {b}")
elif a == b:
print(f"{a} equals {b}")
else:
print(f"{a} greater than {b}")
# Kết quả:
# Enter first integer number: 12
# Enter second integer number: 20
# 12 less than 20
Kết hợp nhiều điều kiện
- Nếu muốn kết hợp nhiều điều kiện xảy ra đồng thời, dùng toán tử and.
- Nếu muốn kết hợp 1 trong các điều kiện xảy ra là được, dùng toán tử or.
balance = 500000000
amount = int(input("Enter the amount you want to withdraw: "))
# Nếu số dư trên 50k và số dư lớn hơn số cần rút và số cần rút là bội của 10
if balance > 50000 and balance > amount and amount % 10 == 0:
print("You enter valid amount.")
# do withdraw...
else:
print("Transaction failed. Please try again later.")
Bài tập thực hành
Tải đề bài: click vào đây
Bài giải mẫu: click vào đây