11.Python if, else

Câu lệnh điều kiện là gì?

Câu lệnh điều kiện trong Python sẽ thực hiện việc tính toán hoặc hành động tùy thuộc vào giá trị biến ràng buộc Boolean là đúng hay sai. Câu lệnh điều kiện trong Python được thực thi bởi câu lệnh IF.

Trong bài này chúng ta sẽ học cách áp dụng câu lệnh điều kiện trong Python

  • Câu lệnh IF là gì? Sử dụng nó như thế nào?
  • Điều gì xảy ra khi “Điều kiện If” không được thỏa mãn?
  • Cách sử dụng “Điều kiện else”
  • Khi “điều kiện else” không hoạt động
  • Cách sử dụng điều kiện “elif”
  • Thực thi câu lệnh điều kiện với mã nguồn tối giản
  • Câu lệnh IF lồng nhau
  • Câu lệnh Switch

Câu lệnh IF là gì? Sử dụng nó như thế nào trong Python?

Trong Python, câu lệnh IF được sử dụng để đưa ra quyết định. Nó sẽ thực thi các câu lệnh trong thân chỉ khi điều kiện IF đưa ra là đúng.

Khi bạn muốn đảm bảo rằng điều kiện này là đúng trong khi điều kiện khác là sai, bạn có thể sử dụng “câu lệnh if”

Cú pháp:

if biểu_thức
    Câu_lệnh
else
    Câu_lệnh

Cùng xem ví dụ sau:

#
#Example file for working with conditional statement
#

def main():
    x,y =2,8
    if(x < y):
        st= "x is less than y"
    print(st)


if __name__ == "__main__":
    main()
  • Dòng lệnh 5: Chúng ta định nghĩa hai biến x, y = 2, 8
  • Dòng lệnh 7: Câu lệnh if kiểm tra điều kiện x <y, trong trường hợp này là đúng.
  • Dòng lệnh 8: Biến st được gán giá trị “x is less than y.” (x nhỏ hơn y)
  • Dòng lệnh 9: Dòng lệnh print st in ra giá trị của biến st đó là “x is less than y”,

Điều gì xảy ra khi “Điều kiện If” không được thỏa mãn?

Trong bước này, chúng ta sẽ cùng xem điều gì xảy ra khi điều kiện if không được thỏa mãn:

  • Dòng lệnh 5: Chúng ta định nghĩa hai biến x, y = 8, 4
  • Dòng lệnh 7: Câu lệnh if kiểm tra điều kiện x <y là sai trong trường hợp này
  • Dòng lệnh 8: Biến st KHÔNG được gán giá trị “x is less than y.” (x nhỏ hơn y)
  • Dòng lệnh 9: Dòng lệnh print st – đang cố in giá trị của một biến chưa được khai báo. Do đó, chương trình trả về lỗi.

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

“Điều kiện else” thường được sử dụng khi bạn phải đánh giá một câu lệnh dựa trên các điều kiện khác. Nếu một điều kiện không được thỏa mãn, cần phải có một điều kiện khác để đánh giá câu lệnh hoặc tính logic.

Ví dụ :

#
#Example file for working with conditional statement
#

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()
  • Dòng lệnh 5: Chúng ta định nghĩa hai biến x, y = 8, 4
  • Dòng lệnh 7: Câu lệnh if kiểm tra điều kiện x<y là Sai trong trường hợp này
  • Dòng lệnh 9: Luồng điều khiển chương trình chuyển sang điều kiện else
  • Dòng lệnh 10: Biến st được đặt thành “x is greater than y.” (x lớn hơn y)
  • Dòng lệnh 11: Dòng lệnh print st sẽ in ra giá trị của biến st là “x is greater than y”,

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

Sẽ có nhiều trường hợp “điều kiện else” của bạn sẽ không mang lại kết quả mong muốn. Nó sẽ in ra kết quả sai vì có lỗi trong logic chương trình. Trong hầu hết các trường hợp, điều này xảy ra khi bạn phải đánh giá nhiều hơn hai câu lệnh hoặc điều kiện trong một chương trình.

Ví dụ sau sẽ giúp bạn hiểu rõ hơn về khái niệm này.

Ở đây cả hai biến đều giống nhau (8,8) và đầu ra chương trình là “x is greater than y” (x lớn hơn y), là SAI. Điều này xảy ra là do điều kiện đầu tiên (điều kiện if) là sai, và khi đó chương trình sẽ in ra câu lệnh ở điều kiện thứ hai (điều kiện else). Trong phần sau, chúng ta sẽ học cách sửa lỗi này.

#
# Example file for working with conditional statement
#

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 câu lệnh “elif”. Bằng cách sử dụng điều kiện “elif “, bạn đang yêu cầu chương trình in ra điều kiện hoặc khả năng thứ ba khi điều kiện khác sai hoặc không chính xác.

Ví dụ

#
# Example file for working with conditional statement
#

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()
  • Dòng lệnh 5: Chúng ta định nghĩa hai biến x, y = 8, 8
  • Dòng lệnh 7: Câu lệnh if kiểm tra điều kiện x <y là Sai trong trường hợp này
  • Dòng lệnh 10: Luồng điều khiển chương trình chuyển sang điều kiện elif. Nó sẽ kiểm tra xem x == y có đúng không
  • Dòng lệnh 11: Biến st được gán giá trị “x is same as y.” (x giống với y)
  • Dòng lệnh 15: Luồng điều khiển chương trình thoát khỏi câu lệnh if (nó sẽ không chuyển sang câu lệnh else). Và in biến st. Đầu ra là “x is same as y” (x giống với y), và đây là kết quả đúng.

Thực thi câu lệnh điều kiện với mã nguồn tối giản

Ở đây, chúng ta sẽ học cách làm thế nào để tối giản câu lệnh điều kiện. Thay vì thực thi mã nguồn cho mỗi điều kiện riêng biệt, chúng ta có thể viết chúng thành một dòng lệnh duy nhất.

Cú pháp

A If B else C

Ví dụ :

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()
  • Dòng lệnh 2: Chúng ta định nghĩa hai biến x, y = 10, 8
  • Dòng lệnh 3: Biến st được gán giá trị “x is less than y” nếu x <y hoặc nếu không, nó được gán giá trị “x lớn hơn hoặc bằng y”. Trong điều kiện x> y này, st được gán giá trị “x is greater than or equal to y” (x lớn hơn hoặc bằng y).
  • Dòng lệnh 4: In giá trị của st và thu được kết quả chính xác.
  • Thay vì viết nhiều dòng lệnh cho câu lệnh điều kiện, Python cho phép bạn viết mã nguồn theo cách ngắn gọn và súc tích.

Câu lệnh IF lồng nhau

Ví dụ sau minh họa câu lệnh if lồng nhau

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 Costs $5")
else:
        print("FREE")
if country == "AU": 
      if total <= 50:
        print("Shipping Cost is  $100")
else:
        print("FREE")

Xóa bỏ dấu chú thích (dấu #) ở dòng lệnh 2 và thêm dấu chú thích vào dòng lệnh 3 rồi chạy lại chương trình.

Câu lệnh Switch

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

Câu lệnh switch là một câu lệnh rẽ nhánh đa chiều giúp so sánh giá trị của một biến với các giá trị cho trước khác trong các câu lệnh case.

Ngôn ngữ Python không có câu lệnh switch.

Python sử dụng ánh xạ từ điển để thay thế cho câu lệnh switch.

Ví dụ

function(argument){
    switch(argument) {
        case 0:
            return "This is Case Zero";
        case 1:
            return " This is Case One";
        case 2:
            return " This is Case Two ";
        default:
            return "nothing";
    };
};

Dưới đây là cách thay thế cho đoạn mã nguồn trên trong Python:

def SwitchExample(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 (SwitchExample(argument))

Ví dụ sử dụng Python 2

Các đoạn mã nguồn ở trên sử dụng Python 3. Bạn có thể sử dụng đoạn mã sau cho Python 2.

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



# How to use "else condition"
#Example file for working with conditional statement
#
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()



# When "else condition" does not work
#Example file for working with conditional statement
#
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()


# How to use "elif" condition
#Example file for working with conditional statement
#
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()


# How to execute conditional statement with minimal code
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()


# Nested IF Statement
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 Costs $5"
else:
        print "FREE"
if country == "AU": 
      if total <= 50:
        print "Shipping Cost is  $100"
else:
        print "FREE"


#Switch Statement
def SwitchExample(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 SwitchExample(argument)

Tổng kết

Câu lệnh điều kiện trong Python được thực hiện thông qua câu lệnh if và chúng ta đã thấy các cách sử dụng khác nhau cho câu lệnh if và else trong bài học.

  • “Điều kiện if” – Được sử dụng nếu bạn cần in ra kết quả với một trong các điều kiện là đúng hoặc sai.
  • “Điều kiện else” – Được sử dụng nếu bạn cần in ra câu lệnh khi một điều kiện là sai.
  • “Điều kiện elif” – Được sử dụng khi có thể có ba khả năng xảy ra. Ngoài ra bạn cũng có thể sử dụng nhiều điều kiện elif để kiểm tra khả năng thứ tư, thứ năm hoặc thứ sáu.
  • Chúng ta có thể tối giản câu lệnh điều kiện bằng cách khai báo toàn bộ điều kiện trên cùng một dòng lệnh.
  • Câu lệnh If có thể lồng nhau.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *