Python if - else Statement

Python if else Statement

Câu lệnh if-else trong Python được sử dụng để thực thi một khối mã khi điều kiện trong if statement là đúng, và một khối mã khác khi điều kiện là sai.

Syntax of if-else Statement

Cú pháp của câu lệnh if-else trong Python như sau −

if boolean_expression:
  # code block to be executed
  # when boolean_expression is true
else:
  # code block to be executed
  # when boolean_expression is false

Nếu biểu thức boolean đánh giá là TRUE, thì các câu lệnh bên trong khối if sẽ được thực thi, ngược lại các câu lệnh trong khối else sẽ được thực thi.

Flowchart of if-else Statement

Sơ đồ luồng này cho thấy cách sử dụng câu lệnh if-else −

ifelse syntax

Nếu expr là True, khối lệnh stmt1, 2, 3 sẽ được thực thi, sau đó dòng chảy mặc định sẽ tiếp tục với stmt7. Tuy nhiên, nếu expr là False, khối lệnh stmt4, 5, 6 sẽ chạy và dòng chảy mặc định sẽ tiếp tục.

Cài đặt Python của sơ đồ dòng chảy trên như sau −

if expr==True:
   stmt1
   stmt2
   stmt3
else:
   stmt4
   stmt5
   stmt6
Stmt7

Python if-else Statement Example

Hãy cùng hiểu cách sử dụng câu lệnh if-else với ví dụ sau. Tại đây, biến age có thể nhận các giá trị khác nhau. Nếu biểu thức age > 18 là đúng, thì thông điệp đủ điều kiện để bỏ phiếu sẽ được hiển thị, ngược lại thông điệp không đủ điều kiện để bỏ phiếu sẽ được hiển thị. Sơ đồ luồng sau đây minh họa logic này −

if-else

Bây giờ, hãy xem cách triển khai Python cho sơ đồ dòng chảy trên.

age=25
print ("age: ", age)
if age >=18:
   print ("eligible to vote")
else:
   print ("not eligible to vote")

Khi thực thi đoạn mã này, bạn sẽ nhận được output

age: 25
eligible to vote

Để kiểm tra khối else , hãy thay đổi tuổi thành 12 và chạy lại mã.

age: 12
not eligible to vote

Python if elif else Statement

Câu lệnh if elif else cho phép bạn kiểm tra nhiều biểu thức để xem có đúng (TRUE) hay không và thực hiện một khối mã ngay khi một trong các điều kiện đánh giá là đúng (TRUE).

Tương tự như khối else , khối elif cũng là tùy chọn. Tuy nhiên, một chương trình chỉ có thể chứa một khối else trong khi có thể có một số lượng tùy ý các khối elif theo sau một khối if .

Syntax of Python if elif else Statement

if expression1:
   statement(s)
elif expression2:
   statement(s)
elif expression3:
   statement(s)
else:
   statement(s)

How if elif else Works?

Từ khóa elif là dạng viết tắt của else if . Nó cho phép logic được sắp xếp theo một chuỗi các câu lệnh elif sau câu lệnh if đầu tiên. Nếu câu lệnh if đầu tiên đánh giá là sai, các câu lệnh elif tiếp theo sẽ được đánh giá lần lượt và thoát khỏi chuỗi nếu bất kỳ câu nào được thỏa mãn.

Cuối cùng trong chuỗi điều kiện là khối else , khối này sẽ được thực thi khi tất cả các điều kiện if/elif trước đó đều không đúng.

Example

Giả sử có các mức giảm giá khác nhau trên một đơn hàng −

  • 20% trên số tiền vượt quá 10.000.

  • 10% cho số tiền từ 5-10000,

  • 5% nếu nó nằm trong khoảng từ 1 đến 5000.

  • không có giảm giá nếu số tiền < 1000

Sơ đồ luồng dưới đây minh họa các điều kiện này −

if-elif

Chúng ta có thể viết mã Python cho logic trên với các câu lệnh if-else

amount = 2500
print('Amount = ',amount)
if amount > 10000:
   discount = amount * 20 / 100
else:
   if amount > 5000:
      discount = amount * 10 / 100
   else:
      if amount > 1000:
         discount = amount * 5 / 100
      else:
         discount = 0

print('Payable amount = ',amount - discount)

Đặt amount để kiểm tra tất cả các điều kiện có thể: 800, 2500, 7500 và 15000. Các đầu ra sẽ thay đổi tương ứng.

Amount: 800
Payable amount = 800
Amount: 2500
Payable amount = 2375.0
Amount: 7500
Payable amount = 6750.0
Amount: 15000
Payable amount = 12000.0

Mặc dù đoạn mã sẽ hoạt động hoàn hảo, nếu bạn nhìn vào mức độ thụt lề tăng lên ở mỗi câu lệnh if và else, thì sẽ trở nên khó quản lý nếu còn nhiều điều kiện hơn nữa.

Python if elif else Statement Example

Câu lệnh elif giúp mã dễ đọc và hiểu hơn. Dưới đây là mã Python cho cùng một logic với các câu lệnh if elif else −

amount = 2500
print('Amount = ',amount)
if amount > 10000:
   discount = amount * 20 / 100
elif amount > 5000:
   discount = amount * 10 / 100
elif amount > 1000:
   discount = amount * 5 / 100
else:
   discount=0

print('Payable amount = ',amount - discount)

Đầu ra của đoạn mã trên như sau −

Amount: 2500
Payable amount = 2375.0