(Bài 4): Cấu trúc điều kiện IF ELSE trong Python

Trong lập trình, bạn không chỉ muốn máy tính tính toán, mà muốn nó tự đưa ra quyết định.
Ví dụ:

  • Nếu điểm ≥ 8 → Xếp loại Giỏi

  • Nếu tuổi < 18 → Không được vào rạp

  • Nếu mật khẩu đúng → Cho đăng nhập

  • Nếu xe đến gần → Xe tự động phanh (trong lập trình AI)

Tất cả những thứ này đều được xây dựng bằng câu lệnh điều kiện IF – ELSE.

Bài 4 là bài cực kỳ quan trọng vì đây là nền tảng để:

  • Xây dựng chương trình có logic

  • Viết thuật toán

  • Viết game

  • Viết AI đơn giản

  • Viết ứng dụng web

Hãy dành thời gian đọc kỹ bài này nhé!


🟧 1. IF – ELSE là gì?

if giúp Python kiểm tra một điều kiện.
Nếu điều kiện đúng (True) → chạy đoạn code bên trong.
Nếu điều kiện sai (False) → có thể dùng else để xử lý trường hợp ngược lại.

Cấu trúc:

if điều_kiện:
làm_gì_đó
else:
làm_gì_khác

🟧 2. IF cơ bản

Ví dụ 1: kiểm tra tuổi

age = 20

if age >= 18:
print("Bạn đã đủ 18 tuổi")

📌 Không có else, nên nếu điều kiện sai → Python bỏ qua.


🟧 3. IF – ELSE

age = 15

if age >= 18:
print("Được xem phim")
else:
print("Không được xem phim")


🟧 4. IF – ELIF – ELSE (nhiều điều kiện)

Dùng khi có 3 trường hợp trở lên.

Ví dụ: xếp loại học lực

score = 8.5

if score >= 8:
print("Giỏi")
elif score >= 6.5:
print("Khá")
elif score >= 5:
print("Trung bình")
else:
print("Yếu")


🟧 5. So sánh nhiều điều kiện (and – or – not)

5.1. AND

age = 20
if age >= 18 and age <= 30:
print("Độ tuổi vàng")

5.2. OR

day = "Sunday"
if day == "Saturday" or day == "Sunday":
print("Cuối tuần!")

5.3. NOT

is_rain = False
if not is_rain:
print("Đi chơi thôi!")

🟧 6. Toán tử IN trong điều kiện

fruit = "apple"
if fruit in ["apple", "banana", "mango"]:
print("Có trong danh sách")

🟧 7. Ví dụ minh họa thực tế

Ví dụ 7.1 – Kiểm tra mật khẩu

password = input("Nhập mật khẩu: ")

if password == "admin123":
print("Đăng nhập thành công")
else:
print("Sai mật khẩu")


Ví dụ 7.2 – Kiểm tra số chẵn / lẻ

n = int(input("Nhập số: "))

if n % 2 == 0:
print("Số chẵn")
else:
print("Số lẻ")


Ví dụ 7.3 – Kiểm tra mùa trong năm

month = int(input("Nhập tháng (1–12): "))

if month in [1, 2, 3]:
print("Mùa xuân")
elif month in [4, 5, 6]:
print("Mùa hạ")
elif month in [7, 8, 9]:
print("Mùa thu")
elif month in [10, 11, 12]:
print("Mùa đông")
else:
print("Tháng không hợp lệ")


Ví dụ 7.4 – Giảm giá theo giá trị đơn hàng

total = float(input("Tổng tiền đơn hàng: "))

if total >= 1000000:
print("Giảm 10%")
elif total >= 500000:
print("Giảm 5%")
else:
print("Không giảm giá")


Ví dụ 7.5 – Xử lý điểm thi với điều kiện logic

math = 8
english = 9

if math >= 7 and english >= 7:
print("Đủ điều kiện nhận học bổng")
else:
print("Không đủ điều kiện")


Ví dụ 7.6 – Phân loại BMI (chỉ số cơ thể)

bmi = float(input("Nhập BMI: "))

if bmi < 18.5:
print("Gầy")
elif bmi < 23:
print("Bình thường")
elif bmi < 25:
print("Thừa cân")
else:
print("Béo phì")


🟧 8. Kỹ thuật nâng cao – IF lồng nhau

age = 25
money = 200000

if age >= 18:
if money >= 100000:
print("Mua vé xem phim")
else:
print("Không đủ tiền")
else:
print("Chưa đủ tuổi")


🟧 9. Kỹ thuật đặc biệt – IF rút gọn (Pythonic)

age = 20
result = "Người lớn" if age >= 18 else "Trẻ em"
print(result)

🟩 10. Bài tập cuối bài

Bài 1 – Kiểm tra âm / dương / 0

Nhập một số, cho biết là:

  • Số âm

  • Số dương

  • Số 0


Bài 2 – Tính giá vé xem phim

Giá vé cơ bản: 100.000đ

  • Trẻ em (< 12 tuổi): giảm 50%

  • Người > 60 tuổi: giảm 30%

Tính tiền sau giảm.


Bài 3 – Xếp loại điểm 3 môn

Nhập 3 môn Toán – Lý – Hoá:

  • Trung bình ≥ 8 → Giỏi

  • ≥ 6.5 → Khá

  • ≥ 5 → Trung bình

  • < 5 → Yếu


Bài 4 – Kiểm tra năm nhuận

Năm nhuận khi:

  • Chia hết cho 400
    hoặc

  • Chia hết cho 4 nhưng không chia hết cho 100


Bài 5 – Bán hàng nâng cao

Nhập số tiền:

  • ≥ 5 triệu → giảm 15%

  • ≥ 3 triệu → giảm 10%

  • ≥ 1 triệu → giảm 5%

  • < 1 triệu → không giảm

In ra số tiền cuối cùng.


Bài 6 – Kiểm tra đăng nhập 3 bước

Yêu cầu nhập:

  • username

  • password

Nếu username == “admin” và password == “123456” → Đăng nhập thành công
Ngược lại → Sai thông tin


🟩 11. Lời giải chi tiết

Giải Bài 1

</div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-python">n = <span class="hljs-built_in">float</span>(<span class="hljs-built_in">input</span>(<span class="hljs-string">"Nhập số: "</span>))</p>
<p><span class="hljs-keyword">if</span> n > <span class="hljs-number">0</span>:<br />
    <span class="hljs-built_in">print</span>(<span class="hljs-string">"Số dương"</span>)<br />
<span class="hljs-keyword">elif</span> n < <span class="hljs-number">0</span>:<br />
    <span class="hljs-built_in">print</span>(<span class="hljs-string">"Số âm"</span>)<br />
<span class="hljs-keyword">else</span>:<br />
    <span class="hljs-built_in">print</span>(<span class="hljs-string">"Số 0"</span>)


Giải Bài 2

</div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-python">price = <span class="hljs-number">100000</span><br />
age = <span class="hljs-built_in">int</span>(<span class="hljs-built_in">input</span>(<span class="hljs-string">"Nhập tuổi: "</span>))</p>
<p><span class="hljs-keyword">if</span> age < <span class="hljs-number">12</span>:<br />
    price *= <span class="hljs-number">0.5</span><br />
<span class="hljs-keyword">elif</span> age > <span class="hljs-number">60</span>:<br />
    price *= <span class="hljs-number">0.7</span></p>
<p><span class="hljs-built_in">print</span>(<span class="hljs-string">"Giá vé:"</span>, price)


Giải Bài 3

</div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-python">toan = <span class="hljs-built_in">float</span>(<span class="hljs-built_in">input</span>(<span class="hljs-string">"Toán: "</span>))<br />
ly = <span class="hljs-built_in">float</span>(<span class="hljs-built_in">input</span>(<span class="hljs-string">"Lý: "</span>))<br />
hoa = <span class="hljs-built_in">float</span>(<span class="hljs-built_in">input</span>(<span class="hljs-string">"Hoá: "</span>))</p>
<p>tb = (toan + ly + hoa) / <span class="hljs-number">3</span></p>
<p><span class="hljs-keyword">if</span> tb >= <span class="hljs-number">8</span>:<br />
    <span class="hljs-built_in">print</span>(<span class="hljs-string">"Giỏi"</span>)<br />
<span class="hljs-keyword">elif</span> tb >= <span class="hljs-number">6.5</span>:<br />
    <span class="hljs-built_in">print</span>(<span class="hljs-string">"Khá"</span>)<br />
<span class="hljs-keyword">elif</span> tb >= <span class="hljs-number">5</span>:<br />
    <span class="hljs-built_in">print</span>(<span class="hljs-string">"Trung bình"</span>)<br />
<span class="hljs-keyword">else</span>:<br />
    <span class="hljs-built_in">print</span>(<span class="hljs-string">"Yếu"</span>)


Giải Bài 4

</div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-python">year = <span class="hljs-built_in">int</span>(<span class="hljs-built_in">input</span>(<span class="hljs-string">"Nhập năm: "</span>))</p>
<p><span class="hljs-keyword">if</span> (year % <span class="hljs-number">400</span> == <span class="hljs-number">0</span>) <span class="hljs-keyword">or</span> (year % <span class="hljs-number">4</span> == <span class="hljs-number">0</span> <span class="hljs-keyword">and</span> year % <span class="hljs-number">100</span> != <span class="hljs-number">0</span>):<br />
    <span class="hljs-built_in">print</span>(<span class="hljs-string">"Năm nhuận"</span>)<br />
<span class="hljs-keyword">else</span>:<br />
    <span class="hljs-built_in">print</span>(<span class="hljs-string">"Không phải năm nhuận"</span>)


Giải Bài 5

</div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-python">money = <span class="hljs-built_in">float</span>(<span class="hljs-built_in">input</span>(<span class="hljs-string">"Nhập số tiền: "</span>))</p>
<p><span class="hljs-keyword">if</span> money >= <span class="hljs-number">5000000</span>:<br />
    money *= <span class="hljs-number">0.85</span><br />
<span class="hljs-keyword">elif</span> money >= <span class="hljs-number">3000000</span>:<br />
    money *= <span class="hljs-number">0.90</span><br />
<span class="hljs-keyword">elif</span> money >= <span class="hljs-number">1000000</span>:<br />
    money *= <span class="hljs-number">0.95</span></p>
<p><span class="hljs-built_in">print</span>(<span class="hljs-string">"Số tiền phải trả:"</span>, money)


Giải Bài 6

</div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-python">user = <span class="hljs-built_in">input</span>(<span class="hljs-string">"Username: "</span>)<br />
pw = <span class="hljs-built_in">input</span>(<span class="hljs-string">"Password: "</span>)</p>
<p><span class="hljs-keyword">if</span> user == <span class="hljs-string">"admin"</span> <span class="hljs-keyword">and</span> pw == <span class="hljs-string">"123456"</span>:<br />
    <span class="hljs-built_in">print</span>(<span class="hljs-string">"Đăng nhập thành công"</span>)<br />
<span class="hljs-keyword">else</span>:<br />
    <span class="hljs-built_in">print</span>(<span class="hljs-string">"Sai thông tin đăng nhập"</span>)


⭐ KẾT BÀI

Ở bài 4, bạn đã học toàn bộ kỹ năng “ra quyết định” của Python:

  • if

  • else

  • elif

  • điều kiện logic (and, or, not)

  • in / not in

  • if lồng nhau

  • if rút gọn (Pythonic)

Đây là phần quan trọng nhất để bạn bước sang lập trình thực sự.
Ở bài tiếp theo (Bài 5 – Vòng lặp FOR và WHILE), bạn sẽ học cách lặp lại công việc tự động – nền tảng của mọi chương trình và thuật toán.

Be the first to comment

Leave a Reply

Your email address will not be published.


*