Cấu trúc rẽ nhánh trong Python

0

If

Đây là ví dụ về câu lệnh if cơ bản nhất. Nếu … thì …
  • Nếu m – 1 < 0 thì m < 1
Từ đó, Python đã xây dựng một cấu trúc nếu tương tự như trên:
if expression:
     # If-block
expression chứa khối lệnh điều kiện
các
if-block sẽ chưa khối lệnh thực thi, tab vào 1 phần so với  khối lệnh điều kiện,Kết quả chỉ trả về kiểu bool True and False
Nếu là True sẽ thưc thi khối trong # If-block nếu là False hệ thống sẽ không làm gì cả.
Các if có thể lồng vào nhau,có thể 1 dòng code hoặc 1 khối nhiều dòng code.
+Nếu if đầu tiên đúng thì sẽ  thực thi các khối lệnh trong khối lệnh if thứ 2, các khối lệnh thứ 2 trở đi nếu đúng thì cũng sẽ thực thi đến khối n, nếu sai thì hệ thống sẽ bỏ qua.
+Nếu if đầu tiên sai thì sẽ không thực thi các khối lệnh  thứ 2-n

If – else if

Đây là bản nâng cấp của cấu trúc if vừa rồi chúng ta tìm hiểu. Nó có cấu trúc như sau:
if expression:
    # If-block
elif 2-expression:
    2-if-block
elif 3-expression:
    # 3-if-block
elif n-expression:
    # n-if-block
Ở đây, bạn có thể đặt bao nhiêu lần nếu cũng được. Và từ câu lệnh if đến lần elif lần thứ n – 1 (câu lệnh với n-expression) là một khối, ta sẽ đặt cho nó một cái tên là khối BIG để dễ hiểu. Nó sẽ hoạt động như sau:
Bước 1: Kiểm tra xem expression có phải là một giá trị Boolean True hay không?
Bước 2: Nếu có, thực hiện if-block sau đó kết thúc khối BIG. Không thì chuyển sang Bước 3.
Bước 3: Kiểu tra xem 2-expression có phải là một giá trị Boolean True hay không?
Bước 4: Nếu có, thực hiện 2-if-block sau đó kết thúc khối BIG. Không thì chuyển sang Bước 5.
Bước 5: Kiểm tra xem 3-expression có phải là một giá trị Boolean True hay không?
Bước 6: Nếu có, thực hiện 3-if-block sau đó kết thúc khối BIG. Không thì chuyển sang Bước 7
Bước (n - 1) x 2: Kiểm tra xem n-expression có phải là một giá trị Boolean True hay không?
Bước (n – 1) x 2 + 1: Nếu có, thực hiện n-if-block.
Bước (n – 1) x 2 + 2: Kết thúc khối BIG.
Ví dụ

If - else

if expression:
    # If-block
else:
    # else-block
Nếu expression là một giá trị Boolean True, thực hiện if-block và kết thúc. Không quan tâm đến else-block. Còn nếu không sẽ thực hiện else-block và kết thúc.

If – else if - else

Nó không có gì mới mẻ nếu bạn nắm rõ 3 cấu trúc trên. Sau đây là cấu trúc của if – else if – else
if expression:
    # If-block
elif 2-expression:
    # 2-if-block
elif n-expression:
    # n-if-block
else:
    # else-block
Bạn có thể đặt bao nhiêu lần elif cũng được nhưng else thì chỉ một. Và từ câu lệnh if đến câu lệnh else là một khối, ta cũng sẽ đặt cho nó một cái tên là khối BIG để dễ hiểu. Nó sẽ hoạt động như sau:
Bước 1: Kiểm tra xem expression có phải là một giá trị Boolean True hay không?
Bước 2: Nếu có, thực hiện if-block sau đó kết thúc khối BIG. Không thì chuyển sang Bước 3.
Bước 3: Kiểu tra xem 2-expression có phải là một giá trị Boolean True hay không?
Bước 4: Nếu có, thực hiện 2-if-block sau đó kết thúc khối BIG. Không thì chuyển sang Bước 5
Bước (n - 1) x 2: Kiểm tra xem n-expression có phải là một giá trị Boolean True hay không?
Bước (n – 1) x 2 + 1: Nếu có, thực hiện n-if-block sau đó kết thúc khối BIG.
Bước (n – 1) x 2 + 2: Nếu không thì thực hiện else-block và kết thúc khối BIG.
Ví dụ:

Block trong Python


Với đa số ngôn ngữ lập trình hiện nay, thường dùng cặp dấu ngoặc { } để phân chia các block.
Riêng đối với Python lại sử dụng việc định dạng code để suy ra các block. Đây là điều giúp code Python luôn luôn phải đẹp mắt.

Một số điều lưu ý về việc định dạng code block trong Python:

  • Câu lệnh mở block kết thúc bằng dấu hai chấm (:), sau khi sử dụng câu lệnh có dấu hai chấm (:buộc phải xuống dòng và lùi lề vào trong và có tối thiểu một câu lệnh để không bỏ trống block.
  • Những dòng code cùng lề thì là cùng một block.
  • Một block có thể có nhiều block khác.
  • Khi căn lề block không sử dụng cả tab lẫn space.
  • Nên sử dụng 4 space để căn lề một block
Sau đây là một hình minh họa của Kteam.
Các câu lệnh nằm trong một khung màu là một block, và  block đó được mở bởi câu lệnh nằm ngay bên trên khung màu.

Kết luận

Qua bài viết này, đã nắm được Cấu trúc rẽ nhánh trong Python
Nguồn:www.howkteam.vn
Tags

Post a Comment

0Comments
Post a Comment (0)