Lập trình Python: for loop và nesting (phần 1)

Nesting

Khối for loop là một hay nhiều hơn một phát biểu. Các phát biểu đó có thể bao gồm các phát biểu
một dòng như các lời gọi hàm và phát biểu gán. Nhưng chúng cũng có thể bao gồm các phát biểu nhiều
dòng như các phát biểu if và vòng lặp.
Hãy bắt đầu với một ví dụ về một phát biểu if bên trong một for loop. Giả sử chúng ta muốn cho ra
chỉ các kí tự chữ hoa từ một string. Các chuỗi kí tự có phương thức isupper cái chúng ta có thể sử
dụng để quyết định liệu một kí tự có phải là chữ hoa:

>>> ‘q’.isupper()
False
>>> ‘Q’.isupper()
True

Chúng ta có thể sử dụng isupper trong một phát biểu if để kiểm soát cái gì xảy ra trên mỗi lần lặp của
một for loop:

>>> title = ‘The Escape’
>>> for char in title:
… if char.isupper():
… print(char)

T
E

Hãy cẩn thận với sự thụt dòng ở đây. Chúng ta cần một mức thụt dòng cho for loop, và một mức nữa cho phát
biểu if nested.
Trên lần lặp đầu tiên, char tham chiếu đến ‘T’. Vì ‘T’ là chữ hoa, isupper test trả về True, và khối phát biểu
if chạy. Cái đó dẫn đến kết quả đầu ra T. Trên lần lặp thứ hai, char tham chiếu đến ‘h’. Lần này, isupper test
trả về False, vì vậy khối phát biểu if không chạy. Tổng thể là for loop lặp qua mỗi kí tự của string, nhưng phát
biểu if nested châm ngòi chỉ hai lần: trên ‘T’ ở phần đầu chuỗi kí tự và trên ‘E’ ở phần đầu của ‘Escape’.

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *