Làm thế nào để thoát khỏi các vòng lặp lồng nhau trong python

Vòng lặp là một mẫu lập trình phổ biến trong Python. Với một vòng lặp, bạn có thể lặp lại mã mà không cần nỗ lực thủ công. Ví dụ: bạn có thể sử dụng vòng lặp để duyệt qua danh sách tên và sắp xếp chúng. Đôi khi, bạn có thể cần đặt một vòng lặp bên trong một vòng lặp khác. Đây được gọi là vòng lặp lồng nhau trong lập trình

Mặc dù không có gì đặc biệt về các vòng lặp lồng nhau, nhưng khi mới bắt đầu, chúng có vẻ hơi đáng sợ hoặc dài dòng.

Đây là hướng dẫn toàn diện về các vòng lặp lồng nhau trong Python. Bạn sẽ học cách xây dựng các vòng lặp lồng nhau, thoát khỏi chúng, chuyển giữa các vòng lặp, v.v. Tất cả các lý thuyết được sao lưu với các ví dụ minh họa tuyệt vời

Vòng lặp lồng nhau trong Python là gì?

Thuật ngữ “nested” thường được sử dụng trong lập trình

Theo định nghĩa, từ “lồng nhau” có nghĩa là có một đối tượng được đặt bên trong một đối tượng khác cùng loại

Trong Python, bạn có thể đặt bất kỳ mã hợp lệ nào bên trong một vòng lặp. Nó thậm chí có thể là một vòng lặp khác

Vòng lặp nằm bên trong vòng lặp được gọi là vòng lặp lồng nhau. Lưu ý rằng vòng lặp lồng nhau không phải là khái niệm chỉ dành cho Python. Các vòng lặp lồng nhau có mặt trong tất cả các ngôn ngữ lập trình khác, vì vậy thuật ngữ này rất tốt để học

Vòng lặp lồng nhau hoạt động như thế nào trong Python?

Không có giới hạn về số lượng vòng lặp bạn có thể đặt bên trong một vòng lặp

Để minh họa cách thức hoạt động của một vòng lặp lồng nhau, hãy mô tả một vòng lặp lồng nhau gồm hai vòng lặp. Một vòng lặp bên ngoài và một vòng lặp bên trong

Đây là cú pháp chung của một vòng lặp for lồng nhau trông như thế nào

for element in sequence1:
   for element in sequence2:
      # inner loop body here
   # outer loop body here

Mỗi lần lặp của vòng lặp bên ngoài làm cho vòng lặp bên trong chạy tất cả các lần lặp của nó. Vòng lặp bên ngoài không chạy trước khi vòng lặp bên trong kết thúc

Làm rõ. Các vòng lặp lồng nhau không chỉ dành cho các vòng lặp. Bạn có thể đặt vòng lặp while bên trong vòng lặp while, vòng lặp while bên trong vòng lặp for, v.v. Vòng lặp lồng nhau là vòng lặp có ít nhất một vòng lặp bên trong nó

Một tình huống điển hình để sử dụng vòng lặp lồng nhau là khi làm việc với dữ liệu đa chiều, chẳng hạn như danh sách các danh sách hoặc những thứ tương tự.

Hãy xem một số ví dụ đơn giản về vòng lặp lồng nhau

ví dụ 1. Vòng lặp lồng nhau

Hãy sử dụng vòng lặp for lồng nhau để in bảng cửu chương của 10 số đầu tiên

for i in range[1, 11]:
    for j in range[1, 11]:
        print[i * j, end=" "]
    print[]

đầu ra

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20 
3 6 9 12 15 18 21 24 27 30 
4 8 12 16 20 24 28 32 36 40 
5 10 15 20 25 30 35 40 45 50 
6 12 18 24 30 36 42 48 54 60 
7 14 21 28 35 42 49 56 63 70 
8 16 24 32 40 48 56 64 72 80 
9 18 27 36 45 54 63 72 81 90 
10 20 30 40 50 60 70 80 90 100

Chúng ta hãy xem xét kỹ hơn cách thức hoạt động của chương trình này

  1. Vòng lặp bên ngoài lặp lại các số từ 1 đến 10 và lưu trữ số hiện tại trong một biến tạm thời i. Vì vậy, trong lần lặp đầu tiên, i = 1, ở lần lặp thứ hai, i = 2, v.v.
  2. Vòng lặp bên trong cũng lặp lại các số từ 1 đến 10. Vòng lặp bên trong lưu trữ số lần lặp hiện tại trong một biến j
  3. Đối với mỗi lần lặp vòng lặp bên ngoài, vòng lặp bên trong sẽ chạy hoàn toàn, tức là 10 lần
  4. Vì vậy, ví dụ, trong lần lặp đầu tiên của vòng lặp bên ngoài, i = 1 trong khi j đi từ 1 đến 10. Trong lần lặp thứ hai, i = 2 và j lại đi từ 1 đến 10, v.v.
  5. Kết quả là một bảng cửu chương trong đó mỗi số 1…10 được nhân với 1…10

Nhân tiện, nếu bạn muốn định dạng phép nhân sao cho các số thẳng hàng trong mỗi cột, bạn có thể chuyển đổi kết quả phép nhân thành một chuỗi và sử dụng lệnh str. phương thức ljust[] để buộc chiều rộng giống nhau

Đây là giao diện của nó trong mã

for i in range[1, 11]:
    for j in range[1, 11]:
        print[f"{i * j}".ljust[3], end=" "]
    print[]

đầu ra

1   2   3   4   5   6   7   8   9   10  
2   4   6   8   10  12  14  16  18  20  
3   6   9   12  15  18  21  24  27  30  
4   8   12  16  20  24  28  32  36  40  
5   10  15  20  25  30  35  40  45  50  
6   12  18  24  30  36  42  48  54  60  
7   14  21  28  35  42  49  56  63  70  
8   16  24  32  40  48  56  64  72  80  
9   18  27  36  45  54  63  72  81  90  
10  20  30  40  50  60  70  80  90  100 

ví dụ 2. Vòng lặp While lồng nhau

Để hoàn thiện, hãy lặp lại ví dụ trên bằng cách sử dụng vòng lặp while lồng nhau. Mục đích của ví dụ này là để chứng minh rằng bạn cũng có thể đặt một vòng lặp while bên trong một vòng lặp khác

Đây là mã

i = 1
j = 1

while i 

Chủ Đề