✔️ 5.1 if cơ bản
📖 Giới thiệu
Câu lệnh if là nền tảng của lập trình - nó giúp chương trình "quyết định" dựa trên điều kiện. Đây là bước đầu tiên để tạo ra những chương trình thông minh và tương tác.
Mục tiêu bài học:
- Hiểu cách hoạt động của câu lệnh
if - Biết cách viết điều kiện đúng cách
- Sử dụng
ifđể tạo chương trình có logic - Hiểu về indentation (thụt lề) trong Python
🔧 Cú pháp
Cú pháp cơ bản:
if dieu_kien:
# Code được thực thi khi điều kiện đúng
lenh_1
lenh_2
...Cú pháp chi tiết:
if dieu_kien_boolean:
# Khối lệnh này chạy khi điều kiện True
print("Điều kiện đúng!")
# Có thể có nhiều lệnh
# Tất cả phải thụt lề như nhauCác toán tử so sánh:
# Toán tử so sánh cơ bản
a == b # Bằng
a != b # Khác
a > b # Lớn hơn
a < b # Nhỏ hơn
a >= b # Lớn hơn hoặc bằng
a <= b # Nhỏ hơn hoặc bằng🔬 Phân tích & Giải thích chi tiết
1. 🎯 if hoạt động như thế nào?
Quy trình thực thi:
- Python đánh giá điều kiện sau
if - Nếu kết quả là
True→ chạy code trong khốiif - Nếu kết quả là
False→ bỏ qua khốiif - Tiếp tục chạy code sau khối
if
tuoi = 18
if tuoi >= 18: # Kiểm tra: 18 >= 18 → True
print("Bạn đã đủ tuổi!") # Code này được chạy
print("Chào mừng!") # Code này cũng được chạy
print("Chương trình kết thúc") # Code này luôn được chạy2. 📏 Thụt lề (Indentation) - Rất quan trọng!
Quy tắc thụt lề:
- Sử dụng 4 spaces (khuyến nghị)
- Hoặc 1 tab (nhưng không trộn lẫn)
- Tất cả code trong cùng một khối phải thụt lề như nhau
# ✅ Đúng
if True:
print("Dòng 1") # 4 spaces
print("Dòng 2") # 4 spaces
print("Dòng 3") # 4 spaces
# ❌ Sai - IndentationError
if True:
print("Lỗi!") # Thiếu thụt lề
# ❌ Sai - IndentationError
if True:
print("Dòng 1") # 4 spaces
print("Dòng 2") # 6 spaces - không nhất quán3. 🔍 Các loại điều kiện
So sánh số:
diem = 8.5
if diem >= 8.0:
print("Học sinh giỏi")
if diem == 10.0:
print("Học sinh xuất sắc")
if diem < 5.0:
print("Cần cố gắng hơn")So sánh chuỗi:
ten = "Python"
if ten == "Python":
print("Đây là Python!")
if len(ten) > 5:
print("Tên dài hơn 5 ký tự")
# So sánh không phân biệt hoa thường
if ten.lower() == "python":
print("Python (không phân biệt hoa thường)")Kiểm tra kiểu boolean:
la_hoc_sinh = True
co_bang_lai = False
if la_hoc_sinh:
print("Là học sinh")
if not co_bang_lai:
print("Chưa có bằng lái")4. 🎪 Một số trường hợp đặc biệt
Truthiness - Giá trị "đúng"/"sai":
# Những giá trị được coi là False
if 0: # False
print("Không chạy")
if "": # False (chuỗi rỗng)
print("Không chạy")
if []: # False (list rỗng)
print("Không chạy")
# Những giá trị được coi là True
if 1: # True
print("Chạy")
if "Hello": # True (chuỗi không rỗng)
print("Chạy")
if [1, 2, 3]: # True (list không rỗng)
print("Chạy")Toán tử in - kiểm tra phần tử:
mon_hoc = ["Toán", "Lý", "Hóa"]
if "Toán" in mon_hoc:
print("Có môn Toán")
ten = "Python Programming"
if "Python" in ten:
print("Chuỗi chứa 'Python'")💻 Ví dụ minh họa
Ví dụ 1: Kiểm tra điểm số học sinh
# Chương trình kiểm tra điểm số và đưa ra nhận xét
print("=== CHƯƠNG TRÌNH ĐÁNH GIÁ ĐIỂM SỐ ===\n")
# Nhập điểm
ten_hoc_sinh = input("Tên học sinh: ")
mon_hoc = input("Môn học: ")
diem = float(input("Điểm số (0-10): "))
print(f"\n--- KẾT QUẢ ĐÁNH GIÁ ---")
print(f"Học sinh: {ten_hoc_sinh}")
print(f"Môn học: {mon_hoc}")
print(f"Điểm số: {diem}")
# Đánh giá từng mức điểm
if diem == 10.0:
print("🏆 XUẤT SẮC! Điểm tuyệt đối!")
print("💡 Bạn đã hoàn thành xuất sắc môn này!")
if diem >= 9.0:
print("⭐ GIỎI! Điểm số rất cao!")
print("💪 Tiếp tục duy trì phong độ!")
if diem >= 8.0:
print("✨ KHÁ! Điểm số tốt!")
print("📈 Cố gắng thêm để đạt mức giỏi!")
if diem >= 6.5:
print("📚 TRUNG BÌNH KHÁ!")
print("🎯 Cần ôn tập thêm để cải thiện!")
if diem >= 5.0:
print("⚠️ TRUNG BÌNH!")
print("📖 Cần học tập chăm chỉ hơn!")
if diem < 5.0:
print("😟 CẦN CỐ GẮNG!")
print("🔥 Đừng nản lòng, hãy cố gắng hơn nữa!")
# Khuyến khích
if diem >= 8.0:
print("\n🎉 Chúc mừng! Bạn đã học rất tốt!")
if diem < 8.0:
print("\n💪 Đừng lo lắng! Mọi người đều có thể tiến bộ!")Ví dụ 2: Kiểm tra tuổi và quyền lợi
# Chương trình kiểm tra độ tuổi và các quyền lợi
print("=== KIỂM TRA QUYỀN LỢI THEO ĐỘ TUỔI ===\n")
ten = input("Tên của bạn: ")
tuoi = int(input("Tuổi của bạn: "))
print(f"\nXin chào {ten}! Bạn {tuoi} tuổi.")
print("Dưới đây là các quyền lợi của bạn:\n")
# Kiểm tra từng quyền lợi
if tuoi >= 0:
print("👶 Quyền được chăm sóc và bảo vệ")
if tuoi >= 6:
print("🎒 Quyền được đi học tiểu học")
print("🎨 Quyền tham gia các hoạt động trẻ em")
if tuoi >= 11:
print("📚 Quyền được học trung học cơ sở")
if tuoi >= 15:
print("🆔 Quyền được cấp chứng minh nhân dân")
print("💼 Quyền được làm một số công việc phù hợp")
if tuoi >= 16:
print("🏍️ Quyền được học lái xe gắn máy")
if tuoi >= 18:
print("🗳️ Quyền bầu cử và ứng cử")
print("🍺 Quyền sử dụng rượu bia (có trách nhiệm)")
print("💑 Quyền kết hôn")
print("🚗 Quyền học lái xe ô tô")
if tuoi >= 21:
print("🎰 Quyền vào casino (ở một số nước)")
if tuoi >= 60:
print("👴 Quyền nghỉ hưu và nhận lương hưu")
print("🚌 Ưu tiên trên phương tiện công cộng")
if tuoi >= 100:
print("🎊 WOW! Bạn là người sống thọ!")
print("📰 Có thể được báo chí phỏng vấn!")
# Lời khuyên theo độ tuổi
if tuoi < 18:
print(f"\n💡 Lời khuyên: Hãy tập trung học tập và phát triển bản thân!")
if tuoi >= 18:
print(f"\n💡 Lời khuyên: Hãy sống có trách nhiệm và theo đuổi ước mơ!")
if tuoi >= 60:
print(f"\n💡 Lời khuyên: Hãy tận hưởng cuộc sống và chia sẻ kinh nghiệm!")Ví dụ 3: Hệ thống đăng nhập đơn giản
# Chương trình đăng nhập cơ bản
print("=== HỆ THỐNG ĐĂNG NHẬP ===\n")
# Tài khoản mẫu (trong thực tế sẽ lưu trong database)
username_dung = "admin"
password_dung = "python123"
ho_ten_admin = "Nguyễn Văn Admin"
# Nhập thông tin đăng nhập
username = input("Tên đăng nhập: ")
password = input("Mật khẩu: ")
print("\n--- KIỂM TRA ĐĂNG NHẬP ---")
# Kiểm tra username
if username == username_dung:
print("✅ Tên đăng nhập hợp lệ")
# Kiểm tra password (chỉ khi username đúng)
if password == password_dung:
print("✅ Mật khẩu chính xác")
print(f"🎉 Đăng nhập thành công!")
print(f"Chào mừng {ho_ten_admin}!")
# Hiển thị menu sau khi đăng nhập thành công
print("\n=== MENU CHÍNH ===")
print("1. Xem thông tin cá nhân")
print("2. Quản lý người dùng")
print("3. Cài đặt hệ thống")
print("4. Đăng xuất")
if password != password_dung:
print("❌ Mật khẩu sai!")
print("💡 Gợi ý: Kiểm tra lại mật khẩu")
if username != username_dung:
print("❌ Tên đăng nhập không tồn tại!")
print("💡 Gợi ý: Kiểm tra lại tên đăng nhập")
# Lời khuyên bảo mật
if username == username_dung or password == password_dung:
print("\n🔐 LƯU Ý BẢO MẬT:")
print("- Không chia sẻ mật khẩu với ai")
print("- Sử dụng mật khẩu mạnh")
print("- Thay đổi mật khẩu định kỳ")🏋️ Thực hành
Bài tập 1: Kiểm tra số chẵn lẻ
Viết chương trình kiểm tra số chẵn hay lẻ:
# TODO: Nhập một số nguyên
# TODO: Kiểm tra và in ra số đó là chẵn hay lẻ
# Gợi ý: Sử dụng phép chia lấy dư (%)Đáp án:
so = int(input("Nhập một số nguyên: "))
if so % 2 == 0:
print(f"{so} là số chẵn")
if so % 2 != 0:
print(f"{so} là số lẻ")Bài tập 2: Kiểm tra năm nhuận
Viết chương trình kiểm tra năm nhuận:
# TODO: Nhập năm
# TODO: Kiểm tra năm nhuận
# Quy tắc: Năm chia hết cho 4 và (không chia hết cho 100 hoặc chia hết cho 400)Đáp án:
nam = int(input("Nhập năm: "))
if nam % 4 == 0:
if nam % 100 != 0:
print(f"{nam} là năm nhuận")
if nam % 400 == 0:
print(f"{nam} là năm nhuận")
if nam % 4 != 0:
print(f"{nam} không phải năm nhuận")Bài tập 3: Phân loại BMI
Viết chương trình tính và phân loại BMI:
# TODO: Nhập cân nặng và chiều cao
# TODO: Tính BMI = cân nặng / (chiều cao)²
# TODO: Phân loại theo BMI
# BMI < 18.5: Thiếu cân
# BMI >= 18.5: Bình thường
# BMI >= 25: Thừa cân
# BMI >= 30: Béo phìĐáp án:
can_nang = float(input("Cân nặng (kg): "))
chieu_cao = float(input("Chiều cao (m): "))
bmi = can_nang / (chieu_cao ** 2)
print(f"BMI của bạn: {bmi:.1f}")
if bmi < 18.5:
print("Phân loại: Thiếu cân")
if bmi >= 18.5:
print("Phân loại: Bình thường")
if bmi >= 25:
print("Phân loại: Thừa cân")
if bmi >= 30:
print("Phân loại: Béo phì")Bài tập 4: Kiểm tra ký tự
Viết chương trình kiểm tra loại ký tự:
# TODO: Nhập một ký tự
# TODO: Kiểm tra ký tự đó là:
# - Chữ số (0-9)
# - Chữ cái thường (a-z)
# - Chữ cái hoa (A-Z)
# - Ký tự đặc biệtĐáp án:
ky_tu = input("Nhập một ký tự: ")
if ky_tu.isdigit():
print("Đây là chữ số")
if ky_tu.islower():
print("Đây là chữ cái thường")
if ky_tu.isupper():
print("Đây là chữ cái hoa")
if not ky_tu.isalnum():
print("Đây là ký tự đặc biệt")📋 Tóm tắt
Những điều quan trọng về if:
🎯 Cú pháp cơ bản:
pythonif dieu_kien: # Code thực thi khi điều kiện True📏 Thụt lề bắt buộc:
- Sử dụng 4 spaces hoặc 1 tab
- Nhất quán trong toàn bộ khối code
- Python báo lỗi nếu thụt lề sai
🔍 Toán tử so sánh:
python== != > < >= <= # So sánh cơ bản in not in # Kiểm tra phần tử is is not # So sánh identity💡 Truthiness:
False: 0, "", [], {}, None, FalseTrue: Tất cả giá trị khác
🎪 Patterns thường dùng:
python# Kiểm tra điều kiện đơn giản if tuoi >= 18: print("Đủ tuổi") # Kiểm tra nhiều điều kiện if diem >= 8.0: print("Giỏi") if diem >= 6.5: print("Khá") # Kiểm tra truthiness if danh_sach: # Kiểm tra list không rỗng print("Có dữ liệu")
Lưu ý quan trọng:
- Mỗi
iflà một điều kiện độc lập - Tất cả
ifđều được kiểm tra - Sử dụng thụt lề đúng cách
- Điều kiện phải trả về boolean
Chuẩn bị cho bài tiếp theo:
Bài tiếp theo sẽ học về 🔁 if – else - cách xử lý khi điều kiện không thỏa mãn và tạo ra logic hoàn chỉnh hơn!
💡 Mẹo: Hãy thói quen thụt lề đúng cách từ bây giờ. Điều này sẽ giúp bạn tránh được rất nhiều lỗi trong tương lai!
🎯 Thực hành: Hãy viết nhiều điều kiện if để làm quen với cú pháp và logic!