hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Cấu trúc dữ liệu và giải thuật
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
      • NodeJS
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
      • MongoDB
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
      • Spring Boot
    • Lập trình C#
      • Lập Trình C# Cơ Bản
      • ASP.NET Core MVC
    • Machine Learning
    • Git và Github
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
  • Lập trình Python
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • Lập trình Python
Python bài 05: Điều kiện if, truthiness và match-case

Python bài 05: Điều kiện if, truthiness và match-case

  • 18-10-2026
  • Toanngo92
  • 0 Comments

Giáo trình Python miễn phí · Chương 3/12: Điều kiện và vòng lặp · Bài 05/24.

← Bài 04 · Mục lục 12 chương · Bài 06 →

Mục lục

  • Mục tiêu bài học
  • Từ quy tắc đến điều kiện
  • Truthiness và đánh giá ngắn mạch
  • Khi nào dùng match-case?
  • Lỗi thường gặp và lưu ý
  • Ghi nhớ
  • Tài liệu đối chiếu

Mục tiêu bài học

Chuyển quy tắc nghiệp vụ thành các nhánh rõ ràng và kiểm tra đúng các giá trị biên.

Từ quy tắc đến điều kiện

Một quy tắc cần có đầu vào và ngưỡng xác định. Ví dụ: điểm phải trong khoảng 0 đến 10; từ 8 là giỏi, từ 6.5 là khá, còn lại cần tiếp tục luyện tập. Hãy kiểm tra dữ liệu hợp lệ trước khi phân loại.

if kiểm tra điều kiện đầu tiên, elif chỉ được xét khi các điều kiện trước sai, else là trường hợp còn lại. Khi cần chọn duy nhất một loại, dùng một chuỗi if/elif thay vì nhiều if độc lập có thể cùng chạy.

diem = 7.5
if not 0 <= diem <= 10:
    print("Điểm không hợp lệ")
elif diem >= 8:
    print("Giỏi")
elif diem >= 6.5:
    print("Khá")
else:
    print("Cần luyện tập")

Kết quả:

Khá

Truthiness và đánh giá ngắn mạch

Các giá trị như None, False, số 0 và các collection rỗng được xem là false trong điều kiện. Tuy vậy, thiếu dữ liệu khác với giá trị bằng 0: nếu 0 là hợp lệ thì cần kiểm tra is None thay vì if not gia_tri.

and và or đánh giá ngắn mạch; chúng trả về một toán hạng chứ không bắt buộc là bool. Có thể dùng điều này để kiểm tra một chuỗi không rỗng trước khi truy cập ký tự, nhưng nên ưu tiên cách viết dễ hiểu hơn các biểu thức quá cô đọng.

ten = ""
print(ten or "Khách")
so_buoi = 0
if so_buoi is not None:
    print("Đã nhập số buổi:", so_buoi)

Kết quả:

Khách
Đã nhập số buổi: 0

Khi nào dùng match-case?

match-case có từ Python 3.10, hữu ích khi phân nhánh theo mẫu dữ liệu. Với lựa chọn menu đơn giản, if/elif thường đã đủ. Các case chuỗi nên viết bằng literal có dấu nháy; tên trần trong pattern có thể là phép bắt giá trị, không phải so sánh với hằng số như người mới dễ nghĩ.

lenh = "xem"
match lenh:
    case "xem":
        print("Hiển thị danh sách")
    case "thoat":
        print("Kết thúc")
    case _:
        print("Lệnh chưa hỗ trợ")

Kết quả:

Hiển thị danh sách

Để kiểm tra quy tắc điểm số, lần lượt thử -1, 0, 6.5, 8, 10 và 11. Các giá trị ở ngay ngưỡng thường làm lộ lỗi dùng nhầm > với >=. Việc thử có chủ đích giúp xác nhận đúng yêu cầu, không chỉ xác nhận chương trình chạy.

Lỗi thường gặp và lưu ý

  • Không viết if diem = 8; phép so sánh dùng ==.
  • Giảm lồng if bằng cách kiểm tra đầu vào và các trường hợp đặc biệt sớm.

Ghi nhớ

Điều kiện cần thể hiện đúng quy tắc và ranh giới. Phân biệt None với 0, dùng elif cho các nhóm loại trừ nhau và chỉ dùng match khi làm chương trình dễ đọc hơn.

Tài liệu đối chiếu

  • Tài liệu Python chính thức

← Bài 04 · Mục lục 12 chương · Bài 06 →

Bài viết liên quan:

Giáo trình Python: mục lục 12 chương, 24 bài từ cơ bản đến ứng dụng
Python bài 24: Lock, Queue và thiết kế worker an toàn
Python bài 23: Thread, start, join và concurrency
Python bài 22: Kết nối MySQL và CRUD có transaction
Python bài 21: Gọi HTTP API, xử lý JSON và tải dữ liệu
Python bài 20: Serialization với JSON và pickle
Python bài 19: Đọc ghi tệp, pathlib, UTF-8 và CSV
Python bài 18: Closure, decorator và functools.wraps
Python bài 17: Iterable, iterator, generator và yield
Python bài 16: Type hints, logging và kiểm thử chương trình
Python bài 15: Ngoại lệ, traceback và kỹ năng debug
Python bài 14: Đóng gói, property, kế thừa và đa hình

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

Giáo trình Python: mục lục 12 chương, 24 bài từ cơ bản đến ứng dụng

Python bài 24: Lock, Queue và thiết kế worker an toàn

Python bài 23: Thread, start, join và concurrency

Python bài 22: Kết nối MySQL và CRUD có transaction

Python bài 21: Gọi HTTP API, xử lý JSON và tải dữ liệu

Giới thiệu

hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với HỌC VIẾT CODE

© hocvietcode.com - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.
Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×