Lệnh if, if...else, if...elif...else trong Python

Lệnh if trong Python được dùng như thế nào? Khi nào sử dụng if else trong Python? Hãy cùng Quantrimang.com tìm hiểu nhé!

Đưa ra quyết định là nhiệm vụ quan trọng nhất ở hầu hết ngôn ngữ lập trình. Đúng như tên gọi, việc đưa ra quyết định cho phép lập trình viên chạy một khối code cụ thể. Ở đây, các quyết định được đưa ra dựa trên tính hợp lệ của từng điều kiện cụ thể. Kiểm tra tình trạng là “cốt lõi” của việc đưa ra quyết định chính xác.

Trong Python, việc đưa ra quyết định được thực hiện bởi những lệnh sau:

  • Lệnh if được dùng để kiểm tra một điều kiện cụ thể. Nếu điều kiện là đúng, khối code (if-block) sẽ được thực thi.
  • Lệnh if-else tương tự như lệnh if ngoại trừ thực tế rằng nó cũng cung cấp khối code cho trường hợp false của điều kiện được kiểm tra. Nếu điều kiện được cung cấp trong lệnh if là sai, lệnh else sẽ chạy.
  • Lệnh if lồng nhau cho phép người dùng sử dụng lệnh if ? else bên trong lệnh if bên ngoài.

Giờ hãy cùng nhau tìm hiểu chi tiết hơn về cấu trúc if else trong Python và các lệnh if khác nhé.

Cấu trúc lệnh if trong Python

Các điều kiện trong Python và lệnh IF

Python hỗ trợ các điều kiện logic thông thường từ toán học:

  • Bằng: a == b
  • Không bằng: a != b
  • Nhỏ hơn: a < b
  • Nhỏ hơn hoặc bằng: a <= b
  • Lớn hơn: a > b
  • Lớn hơn hoặc bằng: a >= b

Những điều kiện trên có thể được dùng theo nhiều cách, phổ biến nhất trong “if statements” - lệnh if và loops - vòng lặp.

Lệnh if được viết bằng cách dùng từ khóa if.

if dieu_kien
    Khối lệnh

Ở đây, chương trình đánh giá dieu_kien và sẽ thực hiện các lệnh khi dieu_kien là True. Nếu dieu_kien False thì lệnh sẽ không được thực hiện.

Trong Python, khối lệnh của lệnh if được viết thụt lề vào trong. Khối lệnh của if bắt đầu với một khoảng thụt lề và dòng không thụt lề đầu tiên sẽ được hiểu là kết thúc lệnh if.

Sơ đồ lệnh if trong Python

Sơ đồ lệnh if trong Python

Ví dụ 1:

# Nếu là số dương ta sẽ in một thông điệp thích hợp
num = 3
if num > 0:
    print(num, "là số dương.")
print("Thông điệp này luôn được in.")

num = -1
if num > 0:
    print(num, "là số dương.")
print("Thông điệp này cũng luôn được in.")

Kết quả đầu ra của chương trình trên:

3 là số dương.
Thông điệp này luôn được in.
Thông điệp này cũng luôn được in.

Trong ví dụ trên, num > 0 là điều kiện, khối lệnh của if được thực thi khi thỏa mãn điều kiện True. Khi num bằng 3, kiểm tra điều kiện, thấy đúng, khối lệnh của if được thực thi. Khi num bằng -1, không khỏa mãn điều kiện, khối lệnh của if bị bỏ qua và thực hiện lệnh print() cuối cùng.

Chú ý kỹ hơn một chút, bạn sẽ thấy rằng có một số lệnh print() không được viết thụt lề, điều này nói lên rằng: print() này nằm ngoài khối lệnh if, nên nó sẽ được thực hiện, bất kể điều kiện là gì.

Lệnh if...else

Cấu trúc lệnh if...else

if dieu_kien:
   Khối lệnh của if
else:
   Khối lệnh của else

Lệnh if...else kiểm tra điều kiện và thực thi khối lệnh if nếu điều kiện đúng. Nếu điều kiện sai, khối lệnh của else sẽ được thực hiện. Thụt đầu dòng được sử dụng để tách các khối lệnh.

Sơ đồ lệnh if...else

Sơ đồ lệnh if...else

Ví dụ 2:

# Chuong trinh kiem tra xem so am hay duong
# Va hien thi thong bao phu hop

num = 3

# Hay thu chuong trinh voi 2 gia tri sau: 
# num = -5
# num = 0

if num >= 0:
   print("So duong hoac bang 0")
else:
   print("So am")

Trong ví dụ 2, khi biến num bằng 3, biểu thức kiểm tra là True và phần lệnh sau if được thực hiện, phần else sẽ bị bỏ qua.

Nếu num bằng -5, biểu thức kiểm tra là False và phần khối lệnh sau else sẽ được thực thi, phần nội dung của if bị bỏ qua.

Nếu num bằng 0, biểu thức kiểm tra là True và phần lệnh sau if được thực thi, phần else sẽ bị bỏ qua.

Lệnh if...elif...else trong Python

Cấu trúc lệnh if...elif...else

if dieu_kien1:
   Khối lệnh của if
elif dieu_kien2:
   Khối lệnh của elif
else: 
   Khối lệnh của else

elif là viết gọn của else if, nó cho phép chúng ta kiểm tra nhiều điều kiện.

Nếu dieu_kien1 là sai, nó sẽ kiểm tra dieu_kien2 của khối elif tiếp theo và cứ như vậy cho đến hết. Nếu tất cả các điều kiện đều sai nó sẽ thực thi khối lệnh của else.

Chỉ một khối lệnh trong if...elif...else được thực hiện theo nếu điều kiện là True.

Có thể không có hoặc có nhiều elif, phần else là tùy chọn.

Sơ đồ của lệnh if...elif...else

Sơ đồ lệnh if...elif...else

Ví dụ 3:

x = int(input("Nhap mot so: "))
if x < 0:
   print('So am')
elif x == 0:
   print('So 0')
elif x == 1:
   print('So 1')
else:
   print('So duong')

Kết quả đầu ra:

Kết quả đầu ra của lệnh if trên Python

  • Nếu x là số âm thì in ra màn hình: "So am".
  • Nếu x = 0 thì sẽ in: "So 0".
  • Nếu x = 1 thì sẽ in: "So 1".
  • Nếu cả 3 điều kiện trên đều sai thì in: "So duong".

Lệnh if...elif...elif... là sự thay thế cho câu lệnh switch hay case trong các ngôn ngữ lập trình khác.

Lệnh if lồng nhau trong Python

Bạn có thể viết lệnh if...elif...else trong một khối lệnh if...elif...else khác, và tạo thành lệnh if lồng nhau. Không giới hạn số lệnh được lồng vào lệnh khác. Thụt đầu dòng là cách duy nhất để nhận diện mức độ lồng, do đó nó có thể gây rối, nhầm lẫn. Bạn nên hạn chế sử dụng nếu có thể.

Ví dụ 4:

# Trong code này, nhập vào một số
# Kiểm tra xem số âm hay dương
# hay bằng không và hiển thị
# thông báo thích hợp
# Sử dụng hàm if lồng nhau

num = float(input("Nhập một số: "))
if num >= 0:
   if num == 0:
       print("Số Không")
   else:
       print("Số dương")
else:
   print("Số âm")

Kết quả 1:

Nhập một số: 10
Số dương

Kết quả 2:

Nhập một số: -5
Số âm

Kết quả 3:

Nhập một số: 0
Số Không

Ví dụ 5:

x = 41

if x > 10:
  print("Above ten,")
  if x > 20:
    print("and also above 20!")
  else:
    print("but not above 20.")

Lệnh pass trong Python

Các lệnh if không thể trống, nhưng nếu vì lí do nào đó, bạn có lệnh if không chứa nội dung, hãy đặt trong lệnh pass để tránh lỗi.

Ví dụ:

a = 33
b = 200

if b > a:
  pass

Những câu hỏi thường gặp về các lệnh điều kiện trong Python

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

Nếu lệnh điều kiện là true, khối code bao gồm trong lệnh if sẽ chạy. Thế nhưng, nếu điều kiện if không đáp ứng, code bên trong dấu ngoặc nhọn bị bỏ qua và lệnh if tiếp theo sẽ chạy. Nó hiện một thông báo lỗi vì không khớp với điều kiện if được chỉ định.

Khi nào điều kiện else không hoạt động?

Đôi khi, bạn không nhận được kết quả mong muốn bằng cách dùng điều kiện else. Đó là do một lỗi logic xảy ra trong chương trình. Vấn đề này thường xuất hiện khi một chương trình có nhiều hơn hai câu lệnh hoặc điều kiện. Nếu gặp sự cố với lệnh else, nguyên nhân có thể do bạn đã điều hướng toán tử rằng dấu “;” đánh dấu phần kết luận của lệnh if. Vì thế, khi phát hiện ra else sau vài bước, nó bắt đầu báo cáo.

Else và While Else có ý nghĩa gì trong Python?

Python cung cấp các tính năng hữu ích như for-else và while-else. Khối else có thể được dùng ngay lập tức sau vòng lặp for và while. Nếu lệnh break không kết thúc vòng lặp, khối else sẽ được triển khai.

Cú pháp cho lệnh for-else Python là:

Cho i trong range(n):

#code

Else:

#code

Cú pháp cho while-else Python là:

Điều kiện while:

#code

Else:

#code

Dấu == nghĩa là gì trong Python?

Sự cân bằng của hai đối tượng được so sánh bằng toán tử '= ='. Trong Python, một dấu bằng '=' phân bổ một giá trị cho một biến, trong khi hai dấu bằng '==' kiểm tra xem hai biểu thức có cho cùng một giá trị hay không. Nói chung, bạn đang so sánh giá trị của hai mặt hàng. Nếu bạn muốn đánh giá xem hai đối tượng có chia sẻ các đặc điểm giống nhau hay không và không bận tâm xem chúng được lưu ở đâu trong bộ nhớ, thì đây là tất cả những gì bạn cần.

Trên đây là những điều bạn cần biết về cách dùng lệnh if và các hàm điều kiện khác trong Python. Hi vọng bài viết hữu ích với các bạn.

Giờ bạn đã nắm được những yếu tố cơ bản khi sử dụng lệnh if trong Python rồi. Hãy thử làm bài kiểm tra nhẹ nhàng sau để xem bạn đã thực sự hiểu bài chưa nhé!

Phần tiếp theo chúng ta sẽ tìm hiểu về vòng lặp for. Các bạn nhớ theo dõi nhé.

Thứ Hai, 23/10/2023 17:16
4,335 👨 214.081
3 Bình luận
Sắp xếp theo
  • Người đang học
    Người đang học

    Cảm ơn rất nhiều👍👍👍

    Thích Phản hồi 05/04/21
    • Patrick Tran
      Patrick Tran

      có cách nào để kiểm tra trong 1 hàm là chữ hay số ko?

      Thích Phản hồi 04/09/21
      • Giang Lương
        Giang Lương

        kiểm tra trong 1 string là chữ hay số thì có hàm isdigit và isalpha đó ạ

        Thích Phản hồi 14/04/22
    • inh inh
      inh inh ok 
      Thích Phản hồi 03:08 31/12
      ❖ Python