Trang

Thursday, May 28, 2015

Bài 03: Câu Lệnh (mệnh đề) if else trong python

Ở bài trước chúng ta đã biết được các kiểu dữ liệu thông dụng trong python, đồng thời chúng ta cũng đã học được hàm print dùng để in giá trị ra màn hình. Tiếp theo bài này chúng ta sẽ tìm hiểu một kiến thức mới đó là câulệnh if else và if else lồng nhau trong python.
Như ta biết mệnh đề thường sẽ trả lời các câu hỏi như "nếu đúng ... thì làm ... ", nghĩa là nếu thỏa mãn điều kiện thì làm công việc gì đó. Nếu như bạn đã học qua một số ngôn ngữ khác như PHP, C++, C# thì chúng ta có cú pháp là:
1
2
3
4
5
6
if (expression){
    //statement
}
else {
    // statement
}
Nhưng với Python thì cú pháp mệnh đề if else hoàn toàn khác, khác như thế nào thì chúng ta bắt đầu tìm hiểu nhé.

1. Cú pháp câu lệnh if else trong Python

Nguồn: http://code.freetuts.net/cau-lenh-menh-de-if-else-trong-python-197.html 
Vui lòng ghi rõ nguồn và tác giả khi copy hay chia sẻ bài này!

Cú pháp if else:

1
2
3
4
if expression:
    #statement
else :
    #statement

Cú pháp if else lồng nhau:

1
2
3
4
5
6
if expression1:
    if expression2:
        #statment
    #statment
else :
    #statment

Cú pháp Elif

Nghe Elif có vẻ hơi khác thường nhỉ cool, thông thường trong các ngôn ngữ PHP, C, C++ thì else if  chứ ko giống Python (Elif)
1
2
3
4
if expression1:
    #statement
elif expression2 :
    #statement
Như vậy trong Python ta không dùng cặp dấu ngoặc () để bao quanh điều kiện trong mệnh đề if, và ta cũng không dùng cặp dấu {} để bao quanh khối lệnh của mệnh đề if mà thay vào đó ta dùng dấu hai chấm (:) ở đầu để khai báo bắt đầu đoạn code và kết thúc không có gì cả.
Ví dụ: if else
1
2
3
4
5
bien= 100;
if bien == 100:
    print("Gia tri cua bien = 100");
else :
    print("Gia tri cua bien khac 100");
Ví dụ: if else lồng nhau
1
2
3
4
5
6
7
8
9
10
11
bien= 100;
#Cau if thu nhat
if bien == 100:
    ten = "thehalfheart";
 
    # Cau if thu hai
    if ten == "thehalfheart":
        print("Gia tri cua ten la thehalfehart");
    print("Gia tri cua bien = 100");
else :
    print("Gia tri cua bien khac 100");
Ví dụ: elif
1
2
3
4
5
bien = 101;
if bien == 100:
    print("Gia tri bien = 101");
elif bien == 101 :
    print("Gia tri cua bien khac 101");
Ta thấy lệnh if else trong python không có ký tự đánh dấu một khối, như vậy thì điểm dừng của nó ở đâu? Để trả lời ta qua phần 2 nhé.
Lưu y: Trong Python các đoạn code được hiểu là một khối nếu nó cùng một tab (thẳng hàng từ trên xuống) cho tới khi gặp tab ngắn hơn, nên nếu bạn tự ý tab vào thì trình biên dịch sẽ báo lỗi ngay.

2. Làm sao xác định kêt thúc lệnh if else trong Python

Để báo cho trình biên dịch biết đoạn code nằm ngoài một khối lệnh nào đó thì ta sẽ tap thụt ngoài 1 ô, nghĩa là trong Python các lệnh được bao khối bởi cấu trúc cây (cây nằm sâu là con của cây ngoài). Xem hình minh họa dưới đây:

Các đường màu đỏ mô phỏng các đoạn code cùng cấp trong python
Ví dụ 1: Không thụt vào 1 tab nên bị hiểu nhầm là nằm trong khối else
1
2
3
4
5
6
bien = 101;
if bien == 101:
    print("Gia tri bien = 101");
else :
    print("Gia tri cua bien khac 101");
    print("Doan code ngoai lenh if else");
Kết quả:
Ví dụ 2: Thụt vào 1 tab nên trình biên dịch hiểu dòng cuối cùng không nằm trong khối if else.
1
2
3
4
5
6
bien = 101;
if bien == 101:
    print("Gia tri bien = 101");
else :
    print("Gia tri cua bien khac 101");
print("Doan code ngoai lenh if else");
Kết quả:
if else long nhau

3. Kết luận

Tới bài này mình cảm thấy Python bắt đầu thú vị rồi đấy, các cú pháp code của nó không giống như C hay C++ mà theo một cách riêng biệt. Nếu bạn mới học lập trình thì không sao chứ bạn nào mà học qua các ngôn ngữ kia rồi thì sẽ cảm thấy Python khó chịu vì khó quản lý code. Tuy nhiên bản thân mình thấy nó rất khắt khe trong việc code, bạn không thể tự mình thụt vào (tab) mà phải tuân theo quy luật của nó.

No comments:

Post a Comment