Python Câu lệnh có điều kiện: IF…Else, ELIF & Switch Case

⚡ Tóm tắt thông minh

Python Câu lệnh điều kiện định hướng luồng chương trình bằng cách thực thi các khối mã cụ thể chỉ khi các biểu thức Boolean được đánh giá là đúng. Chúng bao gồm if, else, elif, if lồng nhau, toán tử ba ngôi và khớp mẫu cấu trúc để tạo ra logic rõ ràng, hướng đến quyết định.

  • Khái niệm cốt lõi: Câu lệnh if chỉ thực thi khối lệnh thụt lề của nó khi điều kiện được đánh giá là đúng, tạo nên nền tảng của việc ra quyết định trong... Python.
  • Các phương án xử lý thay thế: Thêm else cho đường dẫn dự phòng và elif để kiểm tra các điều kiện bổ sung theo trình tự mà không cần lồng nhau quá sâu.
  • Tránh các lỗi logic: Hãy sử dụng một chuỗi if-elif-else duy nhất thay vì các câu lệnh if độc lập khi chỉ cần một kết quả duy nhất.
  • Viết ngắn gọn Code: Áp dụng biểu thức ba ngôi value_if_true nếu điều kiện là đúng, ngược lại với value_if_false để gán giá trị trong một dòng dễ đọc.
  • Phân nhánh hiện đại: Thay thế các chuỗi elif dài bằng bản đồ từ điển.ping hoặc câu lệnh match-case được giới thiệu trong Python 3.10 để lựa chọn nhiều chiều dễ dàng hơn.

Python Câu điều kiện

Câu lệnh có điều kiện trong Python?

Câu lệnh có điều kiện trong Python Thực hiện các phép tính hoặc hành động khác nhau tùy thuộc vào việc một ràng buộc Boolean cụ thể được đánh giá là đúng hay sai. Chúng cho phép chương trình đưa ra quyết định và đi theo các đường dẫn khác nhau thay vì chạy từng dòng lệnh theo trình tự. PythonCác câu lệnh điều kiện được xử lý bởi if Câu lệnh và các thành phần đi kèm: else, elif, và if lồng nhau.

Là gì Python Tuyên bố nếu?

Python câu lệnh if Câu lệnh if được sử dụng cho các hoạt động ra quyết định. Nó chứa một khối mã chỉ chạy khi điều kiện được đưa ra trong câu lệnh if là đúng. Nếu điều kiện sai, câu lệnh else tùy chọn sẽ chạy thay thế, chứa mã cho điều kiện else. Khi bạn muốn thực hiện hành động dựa trên một điều kiện trong khi điều kiện khác không đúng, bạn sử dụng câu lệnh if. Python câu lệnh if-else.

Python Cú pháp câu lệnh if:

if expression:
    statement
else:
    statement

Python nếu...khác Sơ đồ

Python Sơ đồ thuật toán if…else thể hiện các nhánh đúng và sai.

Sơ đồ trên cho thấy luồng điều khiển diễn ra như thế nào trong câu lệnh if-else. Chúng ta hãy xem một ví dụ về điều này. Python Câu lệnh if-else trong thực tế:

Python Ví dụ về kết quả đầu ra của câu lệnh if trong trình soạn thảo

# Example file for working with conditional statements
def main():
    x, y = 2, 8
    if(x < y):
        st = "x is less than y"
    print(st)

if __name__ == "__main__":
    main()
  • Code Dòng 3: Chúng ta định nghĩa hai biến x, y = 2, 8.
  • Code Dòng 4: Câu lệnh if kiểm tra điều kiện x < y, tức là Thật trong trường hợp này.
  • Code Dòng 5: Biến st được đặt thành “x nhỏ hơn y”.
  • Code Dòng 6: Dòng lệnh print(st) xuất ra giá trị của st, đó là “x nhỏ hơn y.”

Điều gì xảy ra khi điều kiện “nếu” không được đáp ứng?

Tiếp nối ví dụ trước, chúng ta hãy xem điều gì xảy ra khi điều kiện if trong Python khi điều kiện không được đáp ứng. Khi điều kiện sai và không có nhánh else nào tồn tại, đoạn mã thụt lề sẽ bị bỏ qua hoàn toàn.

Python Lỗi xảy ra khi điều kiện if không được đáp ứng.

# Example file for working with conditional statements
def main():
    x, y = 8, 4
    if(x < y):
        st = "x is less than y"
    print(st)

if __name__ == "__main__":
    main()
  • Code Dòng 3: Chúng ta định nghĩa hai biến x, y = 8, 4.
  • Code Dòng 4: Câu lệnh if kiểm tra điều kiện x < y, tức là Sai trong trường hợp này.
  • Code Dòng 5: Biến st là KHÔNG được đặt thành “x nhỏ hơn y.”
  • Code Dòng 6: Dòng lệnh print(st) cố gắng in một biến chưa bao giờ được khai báo, vì vậy Python tăng một TênLỗi.
⚠ Cảnh báo: Việc tham chiếu đến một biến chỉ được gán giá trị bên trong khối if là một lỗi thường gặp của người mới bắt đầu. Hoặc là thêm một nhánh else, hoặc là gán giá trị mặc định cho biến đó trước câu lệnh if.

Cách sử dụng điều kiện “else”

Để tránh lỗi trên, bạn có thể thêm điều kiện else. Điều kiện else được sử dụng khi bạn phải đánh giá một câu lệnh dựa trên một câu lệnh khác. Nếu một điều kiện sai, khối else sẽ cung cấp một đường dẫn thay thế để chương trình vẫn tạo ra kết quả.

Ví dụ:

Python Ví dụ về điều kiện if-else

# Example file for working with conditional statements
def main():
    x, y = 8, 4
    if(x < y):
        st = "x is less than y"
    else:
        st = "x is greater than y"
    print(st)

if __name__ == "__main__":
    main()
  • Code Dòng 3: Chúng ta định nghĩa hai biến x, y = 8, 4.
  • Code Dòng 4: Câu lệnh if kiểm tra điều kiện x < y, tức là Sai trong trường hợp này.
  • Code Dòng 6: Luồng điều khiển chương trình chuyển đến điều kiện else.
  • Code Dòng 7: Biến st được đặt thành “x là lớn hơn hơn y.”
  • Code Dòng 8: Dòng lệnh print(st) xuất ra giá trị của st, đó là “x lớn hơn y.”

Khi điều kiện “else” không hoạt động

Câu lệnh `else` không phải lúc nào cũng cho ra kết quả mong muốn. Nó có thể in ra kết quả sai khi có lỗi trong logic chương trình. Điều này thường xảy ra khi bạn phải chứng minh tính đúng đắn của nhiều hơn hai câu lệnh hoặc điều kiện trong một chương trình. Một ví dụ sẽ giúp bạn hiểu rõ hơn khái niệm này.

Ở đây cả hai biến đều giống nhau (8, 8), nhưng đầu ra của chương trình lại là “x lớn hơn y,” đó là WRONGĐiều này xảy ra vì chương trình kiểm tra điều kiện đầu tiên (điều kiện if), và khi điều kiện đó thất bại, nó sẽ in ra điều kiện thứ hai (điều kiện else) làm điều kiện mặc định. Ở bước tiếp theo, chúng ta sẽ xem cách khắc phục lỗi này.

Python Điều kiện ngược lại tạo ra kết quả sai

# Example file for working with conditional statements
def main():
    x, y = 8, 8
    if(x < y):
        st = "x is less than y"
    else:
        st = "x is greater than y"
    print(st)

if __name__ == "__main__":
    main()

Cách sử dụng điều kiện “elif”

Để sửa lỗi trước đó do điều kiện else gây ra, chúng ta có thể sử dụng elif Câu lệnh. Bằng cách sử dụng điều kiện elif, bạn yêu cầu chương trình kiểm tra khả năng thứ ba khi điều kiện đầu tiên sai. Bạn có thể kết hợp nhiều điều kiện elif để kiểm tra khả năng thứ tư, thứ năm và các khả năng tiếp theo trong mã của mình.

Ví dụ:

Python ví dụ về điều kiện elif

# Example file for working with conditional statements
def main():
    x, y = 8, 8
    if(x < y):
        st = "x is less than y"
    elif(x == y):
        st = "x is same as y"
    else:
        st = "x is greater than y"
    print(st)

if __name__ == "__main__":
    main()
  • Code Dòng 3: Chúng ta định nghĩa hai biến x, y = 8, 8.
  • Code Dòng 4: Câu lệnh if kiểm tra điều kiện x < y, tức là Sai trong trường hợp này.
  • Code Dòng 6: Luồng điều khiển chương trình đi đến điều kiện elif. Nó kiểm tra xem x == y hay không, và điều này đúng.
  • Code Dòng 7: Biến st được đặt thành “x là giống như y. ”
  • Code Dòng 10: Chương trình thoát khỏi câu lệnh if (nó sẽ không đến câu lệnh else) và in ra st. Kết quả đầu ra là “x giống như y”, điều này là chính xác.

Cách thực thi câu lệnh điều kiện với mức tối thiểu Code

Giờ đây bạn đã có thể viết các khối if-elif-else hoàn chỉnh, Python Cho phép bạn rút gọn một điều kiện đơn giản thành một dòng duy nhất. Thay vì viết mã riêng biệt cho mỗi nhánh, bạn có thể sử dụng một dòng lệnh đơn giản hơn. biểu thức tam phân (có điều kiện).

Cú pháp:

value_if_true if condition else value_if_false

Ví dụ:

Python Ví dụ về câu lệnh điều kiện ba ngôi một dòng

def main():
    x, y = 10, 8
    st = "x is less than y" if (x < y) else "x is greater than or equal to y"
    print(st)

if __name__ == "__main__":
    main()
  • Code Dòng 2: Chúng ta định nghĩa hai biến x, y = 10, 8.
  • Code Dòng 3: Biến st được đặt thành “x nhỏ hơn y” nếu x < y; ngược lại nó trở thành “x lớn hơn hoặc bằng y”. Vì ở đây x > y, nên st trở thành giá trị thứ hai.
  • Code Dòng 4: In ra giá trị của st và cho ra kết quả chính xác.

Python Câu lệnh if lồng nhau

Câu lệnh if lồng nhau đặt một câu lệnh if bên trong một câu lệnh if khác, điều này hữu ích khi một quyết định phụ thuộc vào điều kiện thứ hai. Ví dụ sau đây minh họa một câu lệnh if lồng nhau trong Python tính toán tàuping Giá cả dựa trên quốc gia và tổng giá trị đơn hàng.

total = 100
# country = "US"
country = "AU"

if country == "US":
    if total <= 50:
        print("Shipping Cost is $50")
    elif total <= 100:
        print("Shipping Cost is $25")
    elif total <= 150:
        print("Shipping Cost is $5")
    else:
        print("FREE")

if country == "AU":
    if total <= 50:
        print("Shipping Cost is $100")
    else:
        print("FREE")

Bỏ dấu chú thích ở dòng 2 trong đoạn mã trên, thêm dấu chú thích vào dòng 3, và chạy lại mã để xem kết quả thay đổi như thế nào đối với các quốc gia khác nhau.

Chuyển đổi báo cáo trường hợp trong Python

Câu lệnh Switch là gì?

Câu lệnh switch là một câu lệnh rẽ nhánh nhiều hướng, so sánh giá trị của một biến với các giá trị được chỉ định trong các câu lệnh case. Trong nhiều năm, Python Ngôn ngữ này không có câu lệnh switch, vì vậy các nhà phát triển đã triển khai hành vi tương tự bằng cách sử dụng... Python từ điển bản đồping.

Ví dụ sử dụng bản đồ từ điểnping:

def switch_example(argument):
    switcher = {
        0: "This is Case Zero",
        1: "This is Case One",
        2: "This is Case Two",
    }
    return switcher.get(argument, "nothing")

if __name__ == "__main__":
    argument = 1
    print(switch_example(argument))

Switch Case With match (Python 3.10 và Later)

từ Python 3.10 (phát hành vào tháng 10 năm 2021), Python cung cấp bản địa trường hợp phù hợp Câu lệnh này, được gọi là khớp mẫu cấu trúc. Nó cung cấp một giải pháp thay thế gọn gàng, dễ đọc cho các chuỗi elif dài và phương pháp từ điển được trình bày ở trên.

def switch_example(argument):
    match argument:
        case 0:
            return "This is Case Zero"
        case 1:
            return "This is Case One"
        case 2:
            return "This is Case Two"
        case _:
            return "nothing"

if __name__ == "__main__":
    print(switch_example(1))

Dấu gạch dưới (_) đóng vai trò là trường hợp mặc định, khớp với bất kỳ giá trị nào không được xử lý bởi các trường hợp trước đó, giống như giá trị mặc định trong câu lệnh switch truyền thống.

✅ Mẹo: Hãy sử dụng match-case nếu bạn đang ở trên Python Phiên bản 3.10 trở lên. Đối với các phiên bản cũ hơn, hãy xem bản đồ từ điển.ping vẫn là cách chuẩn để mô phỏng câu lệnh switch.

if, elif và else: So sánh nhanh

Hãy sử dụng phép so sánh này để quyết định cấu trúc điều kiện nào phù hợp với logic ra quyết định của bạn.

Tuyên bốMục đíchKhi nào sử dụng
ifKhối lệnh này sẽ được thực thi khi một điều kiện được thỏa mãn.Một quyết định duy nhất có/không.
nếu khácCung cấp phương án dự phòng khi điều kiện không đúng.Hai kết quả loại trừ lẫn nhau
elifKiểm tra các điều kiện bổ sung theo trình tựBa hoặc nhiều khả năng
Lồng nhau nếuĐặt một câu lệnh if bên trong một câu lệnh if khác.Một quyết định phụ thuộc vào điều kiện thứ hai.
Đệ tamRút gọn câu lệnh if-else thành một dòngGán giá trị đơn giản
trường hợp phù hợpSo khớp một giá trị với nhiều mẫuPhân nhánh đa chiều (Python 3.10 +)
⚠ Lưu ý: Python 2 đã hết hạn sử dụng vào ngày 1 tháng 1 năm 2020, và tất cả các ví dụ trong bài viết này đều sử dụng Python 3 cú pháp. Trong Python 2. Lệnh `print` là một câu lệnh (ví dụ: `print st`) chứ không phải là một hàm, vì vậy đoạn mã trên sẽ không chạy mà không thay đổi. Python 2.

Câu Hỏi Thường Gặp

Câu lệnh if bắt đầu một quyết định và luôn được đánh giá. Câu lệnh elif (else-if) chỉ được kiểm tra khi các điều kiện if hoặc elif trước đó sai, cho phép bạn kiểm tra nhiều khả năng trong một chuỗi trong khi chỉ có đúng một khối lệnh được thực thi.

Đúng. Từ Python Trong phiên bản 3.10, câu lệnh match-case cung cấp khả năng phân nhánh kiểu switch gốc thông qua việc khớp mẫu cấu trúc. Trên các phiên bản cũ hơn, các nhà phát triển mô phỏng switch bằng cách sử dụng bản đồ từ điển.ping Sử dụng phương thức get() để cung cấp giá trị mặc định.

Sử dụng biểu thức điều kiện ba ngôi: giá trị_nếu_đúng nếu điều kiện đúng thì giá trị_nếu_sai. Ví dụ: st = “thấp” nếu x < 10 thì “cao” gán một giá trị trong một dòng duy nhất dễ đọc mà không cần khối if-else đầy đủ.

Đúng vậy. Các trợ lý lập trình AI có thể tạo ra, giải thích và gỡ lỗi logic if-elif-else từ một lời nhắc bằng ngôn ngữ thông thường. Chúng rất hữu ích cho việc học, nhưng bạn vẫn nên xem lại kết quả đầu ra để xác nhận các điều kiện và thụt lề khớp với logic mà bạn dự định.

Đúng vậy. Logic điều kiện là nền tảng của trí tuệ nhân tạo. Cây quyết định, hệ thống dựa trên quy tắc và các quy trình tiền xử lý dữ liệu đều dựa vào cấu trúc phân nhánh if-else để lựa chọn hành động, lọc dữ liệu và kiểm soát cách mô hình xử lý các đầu vào khác nhau.

Tóm tắt bài viết này với: