C hỗ trợ lồng các vòng lặp trong C. Lồng các vòng lặp là tính năng trong C cho phép lặp các câu lệnh bên trong một vòng lặp khác. Hãy quan sát một ví dụ về vòng lặp lồng nhau trong C Show
Bất kỳ số lượng vòng lặp nào cũng có thể được xác định bên trong một vòng lặp khác, tôi. e. , không có giới hạn nào đối với việc xác định bất kỳ số lượng vòng lặp nào. Mức độ lồng nhau có thể được xác định tại n lần. Bạn có thể xác định bất kỳ loại vòng lặp nào bên trong một vòng lặp khác; Cú pháp của Vòng lặp lồng nhau Outer_loop và Inner_loop là các vòng lặp hợp lệ có thể là vòng lặp 'for', vòng lặp 'while' hoặc 'do-while' Lập trình C cho phép sử dụng một vòng lặp bên trong một vòng lặp khác. Phần sau đây cho thấy một vài ví dụ để minh họa khái niệm cú phápCú pháp của một câu lệnh lặp for lồng nhau trong C như sau: for ( init; condition; increment ) { for ( init; condition; increment ) { statement(s); } statement(s); } Cú pháp cho một câu lệnh vòng lặp while lồng nhau trong ngôn ngữ lập trình C như sau - while(condition) { while(condition) { statement(s); } statement(s); } Cú pháp cho một do lồng nhau. câu lệnh vòng lặp while trong ngôn ngữ lập trình C như sau - do { statement(s); do { statement(s); }while( condition ); }while( condition ); Lưu ý cuối cùng về cách lồng vòng lặp là bạn có thể đặt bất kỳ loại vòng lặp nào bên trong bất kỳ loại vòng lặp nào khác. Ví dụ: vòng lặp 'for' có thể nằm trong vòng lặp 'while' hoặc ngược lại Vòng lặp bên trong Vòng lặpMột vòng lặp lồng nhau là một vòng lặp bên trong một vòng lặp "vòng lặp bên trong" sẽ được thực hiện một lần cho mỗi lần lặp lại "vòng lặp bên ngoài" Ví dụIn từng tính từ cho mỗi loại trái cây adj = ["đỏ", "to", "ngon"] cho x trong adj. Trong Python, vòng lặp bên trong vòng lặp được gọi là vòng lặp lồng nhau. Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các vòng lặp lồng nhau trong Python với sự trợ giúp của các ví dụ Ngoài ra, Giải quyết
Mục lục
Vòng lặp lồng nhau trong Python là gì?Một vòng lặp lồng nhau là một vòng lặp bên trong thân của vòng lặp bên ngoài. Vòng lặp bên trong hoặc bên ngoài có thể là bất kỳ loại nào, chẳng hạn như vòng lặp while hoặc vòng lặp for. Ví dụ: vòng lặp 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 1003 bên ngoài có thể chứa vòng lặp 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 1004 và ngược lại Vòng ngoài có thể chứa nhiều hơn một vòng trong. Không có giới hạn về chuỗi các vòng lặp Trong vòng lặp lồng nhau, số lần lặp sẽ bằng số lần lặp ở vòng ngoài nhân với số lần lặp ở vòng trong Trong mỗi lần lặp của vòng lặp bên ngoài, vòng lặp bên trong thực hiện tất cả các lần lặp của nó. Đối với mỗi lần lặp của một vòng lặp bên ngoài, vòng lặp bên trong sẽ bắt đầu lại và hoàn thành việc thực hiện của nó trước khi vòng lặp bên ngoài có thể tiếp tục đến lần lặp tiếp theo của nó Vòng lặp lồng nhau thường được sử dụng để làm việc với cấu trúc dữ liệu đa chiều, chẳng hạn như in mảng hai chiều, lặp lại danh sách chứa danh sách lồng nhau Vòng lặp lồng nhau là một phần của câu lệnh luồng điều khiển giúp bạn hiểu kiến thức cơ bản về Python Python lồng nhau cho vòng lặpTrong Python, vòng lặp for được sử dụng để lặp qua một chuỗi chẳng hạn như danh sách, chuỗi, bộ dữ liệu, các đối tượng có thể lặp khác như phạm vi Cú pháp sử dụng vòng lặp lồng nhau trong Python
Trong ví dụ này, chúng tôi đang sử dụng vòng lặp for bên trong vòng lặp 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 1003. Trong ví dụ này, chúng tôi đang in một bảng cửu chương gồm mười số đầu tiên
Ví dụ. Viết chương trình vòng lặp 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 1003 lồng nhau để in bảng cửu chương trong Python while(condition) { while(condition) { statement(s); } statement(s); }0 đầ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òng lặp lồng nhau để in mẫuMột cách sử dụng phổ biến nhất khác của vòng lặp lồng nhau là in các mẫu số và ngôi sao khác nhau Hãy xem cách sử dụng vòng lặp lồng nhau để in mẫu sau trong Python Mẫu while(condition) { while(condition) { statement(s); } statement(s); }3 Chương trình while(condition) { while(condition) { statement(s); } statement(s); }5
Vòng lặp while bên trong vòng lặp forViệc sử dụng một loại vòng lặp bên trong một loại vòng lặp khác là rất phổ biến và hữu ích. chúng ta có thể đặt một vòng lặp while bên trong vòng lặp 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 1003 Giả sử chúng tôi muốn lặp lại mỗi tên trong danh sách năm lần
while(condition) { while(condition) { statement(s); } statement(s); }7 đầu ra while(condition) { while(condition) { statement(s); } statement(s); }8 Luyện tập. In mẫu hình chữ nhật có 5 hàng 3 cột hình ngôi saoGiải bài tập vòng lặp lồng nhau trong Python dưới đây In các ngôi sao hình chữ nhật sau while(condition) { while(condition) { statement(s); } statement(s); }9 Giải thêm bài tập vòng lặp Hiển thị giải pháp do { statement(s); do { statement(s); }while( condition ); }while( condition );0 Phá vỡ vòng lặp lồng nhauCâu lệnh break được sử dụng bên trong vòng lặp để thoát khỏi vòng lặp. Nếu câu lệnh break được sử dụng bên trong vòng lặp lồng nhau (vòng lặp bên trong vòng lặp khác), nó sẽ kết thúc vòng lặp trong cùng Trong ví dụ sau, chúng ta có hai vòng lặp. Vòng lặp 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 1003 bên ngoài lặp lại bốn số đầu tiên bằng cách sử dụng hàm while(condition) { while(condition) { statement(s); } statement(s); }30 và vòng lặp 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 1003 bên trong cũng lặp lại bốn số đầu tiên. Nếu số bên ngoài và số hiện tại của vòng lặp bên trong giống nhau, thì ngắt vòng lặp bên trong (lồng nhau) Ví dụ do { statement(s); do { statement(s); }while( condition ); }while( condition );4 đầu ra while(condition) { while(condition) { statement(s); } statement(s); }00 Như bạn có thể thấy ở đầu ra, không có hàng nào chứa cùng một số Tiếp tục Vòng lặp lồng nhauCâu lệnh tiếp tục bỏ qua bước lặp hiện tại và chuyển sang bước lặp tiếp theo. Trong Python, khi gặp câu lệnh while(condition) { while(condition) { statement(s); } statement(s); }35 bên trong vòng lặp, nó sẽ bỏ qua tất cả các câu lệnh bên dưới nó và ngay lập tức chuyển sang bước lặp tiếp theo Trong ví dụ sau, chúng ta có hai vòng lặp. Vòng lặp for bên ngoài lặp lại danh sách đầu tiên và vòng lặp bên trong cũng lặp lại danh sách số thứ hai Nếu số bên ngoài và số hiện tại của vòng lặp bên trong giống nhau, thì hãy chuyển sang lần lặp tiếp theo của vòng lặp bên trong Ví dụ while(condition) { while(condition) { statement(s); } statement(s); }01 đầu ra while(condition) { while(condition) { statement(s); } statement(s); }02 Như bạn có thể thấy ở đầu ra, không có số nào giống nhau nhân với nhau Các vòng lặp lồng nhau một dòng sử dụng hiểu danh sáchVí dụ: nếu bạn có hai danh sách và muốn lấy tất cả các kết hợp của chúng, Để đạt được điều này, bạn cần sử dụng hai vòng lặp lồng nhau như được đề cập bên dưới while(condition) { while(condition) { statement(s); } statement(s); }03 Bạn có thể viết mã nhanh và gọn hơn bằng cách sử dụng nén danh sách và vòng lặp lồng nhau như dưới đây while(condition) { while(condition) { statement(s); } statement(s); }04 Làm thế nào để viết nó
Hãy xem thêm các ví dụ như vậy Trong ví dụ này, chúng tôi sẽ sử dụng hai vòng lặp 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 1003 trong phần Hiểu danh sách và kết quả cuối cùng sẽ là một danh sách các danh sách. chúng tôi sẽ không bao gồm các số giống nhau trong mỗi danh sách. chúng tôi sẽ lọc chúng bằng điều kiện if while(condition) { while(condition) { statement(s); } statement(s); }05 đầu ra while(condition) { while(condition) { statement(s); } statement(s); }06 Vòng lặp lồng nhau trong PythonTrong Python, Câu lệnh vòng lặp while lặp đi lặp lại việc thực thi một khối mã trong khi một điều kiện cụ thể là đúng. Chúng ta sử dụng vòng lặp w a while khi số lần lặp không cố định Trong phần này, chúng ta sẽ xem cách sử dụng vòng lặp while bên trong vòng lặp while khác Cú pháp để viết câu lệnh vòng lặp while lồng nhau trong Python như sau while(condition) { while(condition) { statement(s); } statement(s); }07 Ví dụ Trong ví dụ này, chúng tôi sẽ in 10 số đầu tiên trên mỗi dòng 5 lần while(condition) { while(condition) { statement(s); } statement(s); }08 đầu ra while(condition) { while(condition) { statement(s); } statement(s); }09 vòng lặp for bên trong vòng lặp WhileĐôi khi sẽ hữu ích khi sử dụng một loại vòng lặp bên trong một loại vòng lặp khác. chúng ta có thể đặt một vòng lặp 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 1003 bên trong vòng lặp 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 1004 Giả sử chúng ta muốn in tất cả các số hoàn hảo từ 1 đến 100
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 1000 Khi nào nên sử dụng Vòng lặp lồng nhau trong Python?
Lưu ý đến sự phức tạp về thời gian. Hãy hiểu điều này với các ví dụ về cách hoạt động của vòng lặp lồng nhau trong Python Chúng tôi sử dụng vòng lặp for để lặp lại trên các phần tử đã cho của một chuỗi hoặc có thể lặp lại. như while(condition) { while(condition) { statement(s); } statement(s); }57. Ở đây độ phức tạp của thời gian là O(n) vì chúng tôi đang lặp lại tất cả các mục từ danh sách Số bước thực hiện (lặp đi lặp lại) xác định độ phức tạp về thời gian của một vòng lặp Khi bạn sử dụng một vòng lặp lồng nhau và cả vòng lặp bên ngoài lẫn bên trong đều chạy mà không có bất kỳ điều kiện if nào trong đó, thì độ phức tạp về thời gian là while(condition) { while(condition) { statement(s); } statement(s); }58 bởi vì, đối với tất cả n phần tử, mã được thực thi n lần Ví dụ 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 1001 đầ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 1002 Nếu bạn đưa ra một điều kiện trong vòng lặp bên trong sẽ dừng thực hiện sau một số phần tử và không thực hiện hết n lần lặp của vòng lặp bên trong hoặc vòng lặp bên ngoài, nó sẽ ít phức tạp hơn về thời gian Sử dụng vòng lặp lồng nhau khi bạn không có lựa chọn thay thế nào tốt hơn, Hãy nhớ rằng viết mã hiệu quả và nhỏ gọn tốt hơn nhiều so với viết mã phức tạp Có thể lồng vòng lặp while vào trong vòng lặp for không?Có, bạn có thể sử dụng vòng lặp lồng nhau . Bạn có thể sử dụng vòng lặp for bên trong vòng lặp while.
Bạn có thể lồng vòng lặp for vào vòng lặp for Python không?Các vòng lặp có thể được lồng vào nhau trong Python , như chúng có thể làm với các ngôn ngữ lập trình khác. Đầu tiên chương trình gặp vòng lặp bên ngoài, thực hiện lần lặp đầu tiên của nó. Lần lặp đầu tiên này kích hoạt vòng lặp lồng nhau bên trong, vòng lặp này sẽ chạy cho đến khi hoàn thành.
Bạn có thể lồng hai vòng lặp for bên trong một vòng lặp for khác không?Một vòng lặp for có thể có nhiều hơn một vòng lặp lồng trong nó Một vòng lặp for có thể có nhiều hơn một vòng lặp lồng trong nó.
Bạn có thể lồng một vòng lặp while vào một vòng lặp while không?Một vòng lặp while lồng nhau là một câu lệnh while bên trong một câu lệnh while khác . Trong một vòng lặp while lồng nhau, một lần lặp của vòng lặp bên ngoài được thực hiện đầu tiên, sau đó vòng lặp bên trong được thực hiện. |