Hướng dẫn can you have 2 for loops in python? - bạn có thể có 2 vòng lặp trong python không?

Bạn có thể không cần giải pháp

    [
        [4, 6, 8, 10, 12, 14, 16, 18, 20], 
        [6, 9, 12, 15, 18, 21, 24, 27, 30], 
        [8, 12, 16, 20, 24, 28, 32, 36, 40], 
        [10, 15, 20, 25, 30, 35, 40, 45, 50], 
        [12, 18, 24, 30, 36, 42, 48, 54, 60], 
        [14, 21, 28, 35, 42, 49, 56, 63, 70], 
        [16, 24, 32, 40, 48, 56, 64, 72, 80], 
        [18, 27, 36, 45, 54, 63, 72, 81, 90], 
        [20, 30, 40, 50, 60, 70, 80, 90, 100]
    ]
6 lồng nhau. Một vòng lặp duy nhất với sự hiểu biết danh sách [như hình dưới đây] sẽ đủ:
A Single Loop with List Comprehension [as shown below] would suffice:

r_list  = list[range[2, 11]]   
output  = []
for m in r_list:
    tmp = [m*z for z in r_list]
    output.append[tmp]

print[output]

Hoặc đơn giản hơn:

output  = []
for m in list[range[2, 11]]:
    tmp = [m*z for z in list[range[2, 11]]]
    output.append[tmp]

print[output]

Prints:

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

Trong Python, một vòng lặp bên trong một vòng lặp được gọi là một vòng lặp lồng nhau. Trong hướng dẫn này, chúng tôi 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ụ.a loop inside a loop is known as a nested loop. In this tutorial, we will learn about nested loops in Python with the help of examples.

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

Một vòng lặp lồng là một vòng bên trong thân của vòng 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 hoặc cho vòng lặp. Ví dụ, vòng lặp

    [
        [4, 6, 8, 10, 12, 14, 16, 18, 20], 
        [6, 9, 12, 15, 18, 21, 24, 27, 30], 
        [8, 12, 16, 20, 24, 28, 32, 36, 40], 
        [10, 15, 20, 25, 30, 35, 40, 45, 50], 
        [12, 18, 24, 30, 36, 42, 48, 54, 60], 
        [14, 21, 28, 35, 42, 49, 56, 63, 70], 
        [16, 24, 32, 40, 48, 56, 64, 72, 80], 
        [18, 27, 36, 45, 54, 63, 72, 81, 90], 
        [20, 30, 40, 50, 60, 70, 80, 90, 100]
    ]
7 bên ngoài có thể chứa một vòng lặp
    [
        [4, 6, 8, 10, 12, 14, 16, 18, 20], 
        [6, 9, 12, 15, 18, 21, 24, 27, 30], 
        [8, 12, 16, 20, 24, 28, 32, 36, 40], 
        [10, 15, 20, 25, 30, 35, 40, 45, 50], 
        [12, 18, 24, 30, 36, 42, 48, 54, 60], 
        [14, 21, 28, 35, 42, 49, 56, 63, 70], 
        [16, 24, 32, 40, 48, 56, 64, 72, 80], 
        [18, 27, 36, 45, 54, 63, 72, 81, 90], 
        [20, 30, 40, 50, 60, 70, 80, 90, 100]
    ]
8 và ngược lại.

Vòng ngoài có thể chứa nhiều hơn một vòng bên trong. Không có giới hạn về chuỗi vòng.

Trong vòng lặp lồng nhau, số lần lặp sẽ bằng với số lần lặp trong vòng ngoài nhân với các lần lặp trong vòng lặp bên trong.

Trong mỗi lần lặp của vòng bên trong vòng ngoài 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 ngoài, vòng lặp bên trong bắt đầu lại và hoàn thành việc thực hiện trước khi vòng ngoài có thể tiếp tục lặp lại tiếp theo.For each iteration of an outer loop the inner loop re-start and completes its execution before the outer loop can continue to its next iteration.

Các vòng lặp lồng nhau thường được sử dụng để làm việc với các cấu trúc dữ liệu đa chiều, chẳng hạn như in các mảng hai chiều, lặp lại một danh sách chứa một danh sách lồng nhau.

Một vòng lặp lồng nhau là một phần của câu lệnh dòng điều khiển A & NBSP; giúp bạn hiểu những điều cơ bản của Python.

Python lồng nhau cho vòng lặp

Trong Python, vòng lặp for được sử dụng để lặp lại theo một chuỗi như danh sách, chuỗi, tuple, các đối tượng khác có thể đi được như phạm vi.

Cú pháp sử dụng một vòng lặp cho vòng lặp trong Python

# outer for loop
for element in sequence 
   # inner for loop
   for element in sequence:
       body of inner for loop
   body of outer for loop

Trong ví dụ này, chúng tôi đang sử dụng một vòng lặp cho vòng lặp

    [
        [4, 6, 8, 10, 12, 14, 16, 18, 20], 
        [6, 9, 12, 15, 18, 21, 24, 27, 30], 
        [8, 12, 16, 20, 24, 28, 32, 36, 40], 
        [10, 15, 20, 25, 30, 35, 40, 45, 50], 
        [12, 18, 24, 30, 36, 42, 48, 54, 60], 
        [14, 21, 28, 35, 42, 49, 56, 63, 70], 
        [16, 24, 32, 40, 48, 56, 64, 72, 80], 
        [18, 27, 36, 45, 54, 63, 72, 81, 90], 
        [20, 30, 40, 50, 60, 70, 80, 90, 100]
    ]
7. Trong ví dụ này, chúng tôi đang in một bảng nhân của mười số đầu tiên.printing a multiplication table of the first ten numbers.

  • Vòng lặp
        [
            [4, 6, 8, 10, 12, 14, 16, 18, 20], 
            [6, 9, 12, 15, 18, 21, 24, 27, 30], 
            [8, 12, 16, 20, 24, 28, 32, 36, 40], 
            [10, 15, 20, 25, 30, 35, 40, 45, 50], 
            [12, 18, 24, 30, 36, 42, 48, 54, 60], 
            [14, 21, 28, 35, 42, 49, 56, 63, 70], 
            [16, 24, 32, 40, 48, 56, 64, 72, 80], 
            [18, 27, 36, 45, 54, 63, 72, 81, 90], 
            [20, 30, 40, 50, 60, 70, 80, 90, 100]
        ]
    
    7 bên ngoài sử dụng hàm phạm vi [] để lặp lại trong mười số đầu tiên
  • Vòng lặp
        [
            [4, 6, 8, 10, 12, 14, 16, 18, 20], 
            [6, 9, 12, 15, 18, 21, 24, 27, 30], 
            [8, 12, 16, 20, 24, 28, 32, 36, 40], 
            [10, 15, 20, 25, 30, 35, 40, 45, 50], 
            [12, 18, 24, 30, 36, 42, 48, 54, 60], 
            [14, 21, 28, 35, 42, 49, 56, 63, 70], 
            [16, 24, 32, 40, 48, 56, 64, 72, 80], 
            [18, 27, 36, 45, 54, 63, 72, 81, 90], 
            [20, 30, 40, 50, 60, 70, 80, 90, 100]
        ]
    
    7 bên trong sẽ thực hiện mười lần cho mỗi số bên ngoài
  • Trong phần thân của vòng bên trong, chúng ta sẽ in phép nhân số bên ngoài và số hiện tại
  • Vòng bên trong không có gì ngoài một cơ thể của một vòng ngoài.

Python lồng nhau cho vòng lặp

Ví dụ: Viết chương trình vòng lặp

    [
        [4, 6, 8, 10, 12, 14, 16, 18, 20], 
        [6, 9, 12, 15, 18, 21, 24, 27, 30], 
        [8, 12, 16, 20, 24, 28, 32, 36, 40], 
        [10, 15, 20, 25, 30, 35, 40, 45, 50], 
        [12, 18, 24, 30, 36, 42, 48, 54, 60], 
        [14, 21, 28, 35, 42, 49, 56, 63, 70], 
        [16, 24, 32, 40, 48, 56, 64, 72, 80], 
        [18, 27, 36, 45, 54, 63, 72, 81, 90], 
        [20, 30, 40, 50, 60, 70, 80, 90, 100]
    ]
7 lồng nhau để in bảng nhân bằng PythonWrite a nested
    [
        [4, 6, 8, 10, 12, 14, 16, 18, 20], 
        [6, 9, 12, 15, 18, 21, 24, 27, 30], 
        [8, 12, 16, 20, 24, 28, 32, 36, 40], 
        [10, 15, 20, 25, 30, 35, 40, 45, 50], 
        [12, 18, 24, 30, 36, 42, 48, 54, 60], 
        [14, 21, 28, 35, 42, 49, 56, 63, 70], 
        [16, 24, 32, 40, 48, 56, 64, 72, 80], 
        [18, 27, 36, 45, 54, 63, 72, 81, 90], 
        [20, 30, 40, 50, 60, 70, 80, 90, 100]
    ]
7 loop program to print multiplication table in Python

# outer loop
for i in range[1, 11]:
    # nested loop
    # to iterate from 1 to 10
    for j in range[1, 11]:
        # print multiplication
        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 
  • Trong chương trình này, vòng lặp
        [
            [4, 6, 8, 10, 12, 14, 16, 18, 20], 
            [6, 9, 12, 15, 18, 21, 24, 27, 30], 
            [8, 12, 16, 20, 24, 28, 32, 36, 40], 
            [10, 15, 20, 25, 30, 35, 40, 45, 50], 
            [12, 18, 24, 30, 36, 42, 48, 54, 60], 
            [14, 21, 28, 35, 42, 49, 56, 63, 70], 
            [16, 24, 32, 40, 48, 56, 64, 72, 80], 
            [18, 27, 36, 45, 54, 63, 72, 81, 90], 
            [20, 30, 40, 50, 60, 70, 80, 90, 100]
        ]
    
    7 bên ngoài là số lặp từ 1 đến 10.
    # outer for loop
    for element in sequence 
       # inner for loop
       for element in sequence:
           body of inner for loop
       body of outer for loop
    4 trả về 10 số. Vì vậy, tổng số lần lặp của vòng ngoài là 10.
  • Trong lần lặp đầu tiên của vòng lặp lồng nhau, số là 1. Trong phần tiếp theo, nó 2. và cứ thế đến 10.
  • Tiếp theo, đối với mỗi lần lặp của vòng ngoài, vòng bên trong sẽ thực hiện mười lần. Vòng lặp bên trong cũng sẽ thực hiện mười lần vì chúng tôi đang in bảng nhân lên đến mười.
  • Trong mỗi lần lặp của một vòng bên trong, chúng tôi đã tính toán phép nhân của hai số.

Vòng lặp lồng để in mẫu

Một cách sử dụng phổ biến nhất của vòng lặp lồng nhau là in các mẫu sao và số khác nhau.

Hãy cùng xem cách sử dụng một vòng lặp lồng nhau để in mẫu sau bằng Python.

Pattern::

*
* *
* * *
* * * *
* * * * *

Program::

rows = 5
# outer loop
for i in range[1, rows + 1]:
    # inner loop
    for j in range[1, i + 1]:
        print["*", end=" "]
    print['']
  • Trong chương trình này, vòng lặp bên ngoài là số lượng hàng in. & NBSP;
  • Số lượng hàng là năm, vì vậy vòng lặp bên ngoài sẽ thực hiện năm lần
  • Tiếp theo, vòng bên trong là tổng số cột trong mỗi hàng.
  • Đối với mỗi lần lặp của vòng ngoài, số cột được tăng thêm 1
  • Trong lần lặp đầu tiên của vòng lặp bên ngoài, số cột là 1, trong phần tiếp theo 2., v.v.
  • Lặp lại vòng bên trong bằng số lượng cột.
  • Trong mỗi lần lặp của một vòng bên trong, chúng tôi in ngôi sao

Trong khi vòng lặp bên trong một vòng lặp

Nó rất phổ biến và hữu ích để sử dụng một loại vòng lặp bên trong một loại vòng khác. Chúng ta có thể đặt a & nbsp; trong khi vòng lặp bên trong vòng & nbsp; ________ 27.

Giả sử chúng tôi muốn lặp lại từng tên từ một danh sách năm lần.

  • Ở đây chúng tôi sẽ lặp lại danh sách bằng cách sử dụng vòng lặp bên ngoài
  • Trong mỗi lần lặp bên ngoài cho vòng lặp, bên trong vòng lặp thực thi năm lần để in tên hiện tại năm lần
names = ['Kelly', 'Jessa', 'Emma']
# outer loop
for name in names:
    # inner while loop
    count = 0
    while count < 5:
        print[name, end=' ']
        # increment counter
        count = count + 1
    print[]

Output::

Kelly Kelly Kelly Kelly Kelly 
Jessa Jessa Jessa Jessa Jessa 
Emma Emma Emma Emma Emma 

Thực hành: In một mẫu hình chữ nhật với 5 hàng và 3 cột sao

Giải quyết các bài tập vòng lặp python bên dưới.

In hình chữ nhật sau của các ngôi sao

output  = []
for m in list[range[2, 11]]:
    tmp = [m*z for z in list[range[2, 11]]]
    output.append[tmp]

print[output]
0

Giải quyết nhiều bài tập vòng lặp.

Hiển thị giải pháp

output  = []
for m in list[range[2, 11]]:
    tmp = [m*z for z in list[range[2, 11]]]
    output.append[tmp]

print[output]
1

Phá vỡ vòng lặp lồng nhau

Câu lệnh Break được sử dụng bên trong vòng lặp để thoát ra khỏi vòng lặp. Nếu câu lệnh break được sử dụng bên trong một vòng lặp lồng nhau [vòng lặp bên trong một vòng khác], nó sẽ chấm dứt vòng lặp trong cùng.

Trong ví dụ sau, chúng tôi có hai vòng. Vòng lặp

    [
        [4, 6, 8, 10, 12, 14, 16, 18, 20], 
        [6, 9, 12, 15, 18, 21, 24, 27, 30], 
        [8, 12, 16, 20, 24, 28, 32, 36, 40], 
        [10, 15, 20, 25, 30, 35, 40, 45, 50], 
        [12, 18, 24, 30, 36, 42, 48, 54, 60], 
        [14, 21, 28, 35, 42, 49, 56, 63, 70], 
        [16, 24, 32, 40, 48, 56, 64, 72, 80], 
        [18, 27, 36, 45, 54, 63, 72, 81, 90], 
        [20, 30, 40, 50, 60, 70, 80, 90, 100]
    ]
7 bên ngoài lặp lại bốn số đầu tiên sử dụng hàm
# outer for loop
for element in sequence 
   # inner for loop
   for element in sequence:
       body of inner for loop
   body of outer for loop
4 và vòng lặp
    [
        [4, 6, 8, 10, 12, 14, 16, 18, 20], 
        [6, 9, 12, 15, 18, 21, 24, 27, 30], 
        [8, 12, 16, 20, 24, 28, 32, 36, 40], 
        [10, 15, 20, 25, 30, 35, 40, 45, 50], 
        [12, 18, 24, 30, 36, 42, 48, 54, 60], 
        [14, 21, 28, 35, 42, 49, 56, 63, 70], 
        [16, 24, 32, 40, 48, 56, 64, 72, 80], 
        [18, 27, 36, 45, 54, 63, 72, 81, 90], 
        [20, 30, 40, 50, 60, 70, 80, 90, 100]
    ]
7 bên trong cũng lặp lại bốn số đầu tiên. Nếu số bên ngoài và số lượng hiện tại của vòng bên trong là như nhau, thì hãy phá vỡ vòng lặp bên trong [lồng nhau].outer number and a current number of the inner loop are the same, then break the inner [nested] loop.

Example::

output  = []
for m in list[range[2, 11]]:
    tmp = [m*z for z in list[range[2, 11]]]
    output.append[tmp]

print[output]
2

Output::

output  = []
for m in list[range[2, 11]]:
    tmp = [m*z for z in list[range[2, 11]]]
    output.append[tmp]

print[output]
3

Như bạn có thể thấy trong đầu ra, không có hàng nào chứa cùng một số.

Tiếp tục lặp lại

& Nbsp; Tiếp tục & nbsp; câu lệnh bỏ qua lần lặp hiện tại và chuyển sang lần lặp tiếp theo. Trong Python, khi tuyên bố ____ 39 & nbsp; gặp phải bên trong vòng lặp, nó bỏ qua tất cả các câu lệnh bên dưới nó và ngay lập tức nhảy sang lần lặp tiếp theo.. In Python, when the

# outer for loop
for element in sequence 
   # inner for loop
   for element in sequence:
       body of inner for loop
   body of outer for loop
9 statement is encountered inside the loop, it skips all the statements below it and immediately jumps to the next iteration.

Trong ví dụ sau, chúng tôi có hai vòng. Vòng lặp 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 vòng bên trong là giống nhau, thì hãy chuyển sang lần lặp tiếp theo của một vòng lặp bên trong.

Example::

output  = []
for m in list[range[2, 11]]:
    tmp = [m*z for z in list[range[2, 11]]]
    output.append[tmp]

print[output]
4

Output::

output  = []
for m in list[range[2, 11]]:
    tmp = [m*z for z in list[range[2, 11]]]
    output.append[tmp]

print[output]
5

Như bạn có thể thấy trong đầu ra, không có số tương tự nhân với nhau.

Một dòng các vòng lặp lồng nhau bằng cách sử dụng danh sách hiểu

Ví dụ: nếu bạn có hai danh sách và muốn có được 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ập dưới đây.

output  = []
for m in list[range[2, 11]]:
    tmp = [m*z for z in list[range[2, 11]]]
    output.append[tmp]

print[output]
6

Bạn có thể viết mã nhỏ hơn và nhỏ 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ư hình dưới đây.

output  = []
for m in list[range[2, 11]]:
    tmp = [m*z for z in list[range[2, 11]]]
    output.append[tmp]

print[output]
7

Cách viết nó:

  • Đầu tiên, hãy viết một vòng lặp
        [
            [4, 6, 8, 10, 12, 14, 16, 18, 20], 
            [6, 9, 12, 15, 18, 21, 24, 27, 30], 
            [8, 12, 16, 20, 24, 28, 32, 36, 40], 
            [10, 15, 20, 25, 30, 35, 40, 45, 50], 
            [12, 18, 24, 30, 36, 42, 48, 54, 60], 
            [14, 21, 28, 35, 42, 49, 56, 63, 70], 
            [16, 24, 32, 40, 48, 56, 64, 72, 80], 
            [18, 27, 36, 45, 54, 63, 72, 81, 90], 
            [20, 30, 40, 50, 60, 70, 80, 90, 100]
        ]
    
    7 bên ngoài sẽ lặp lại danh sách đầu tiên như
    # outer loop
    for i in range[1, 11]:
        # nested loop
        # to iterate from 1 to 10
        for j in range[1, 11]:
            # print multiplication
            print[i * j, end=' ']
        print[]
    1
  • Tiếp theo, viết một vòng bên trong sẽ lặp lại danh sách thứ hai sau vòng lặp bên ngoài như
    # outer loop
    for i in range[1, 11]:
        # nested loop
        # to iterate from 1 to 10
        for j in range[1, 11]:
            # print multiplication
            print[i * j, end=' ']
        print[]
    2
  • Cuối cùng, tính toán việc bổ sung số bên ngoài và số bên trong như
    # outer loop
    for i in range[1, 11]:
        # nested loop
        # to iterate from 1 to 10
        for j in range[1, 11]:
            # print multiplication
            print[i * j, end=' ']
        print[]
    3
  • Cuối cùng, lưu trữ kết quả trong một danh sách mới như
    # outer loop
    for i in range[1, 11]:
        # nested loop
        # to iterate from 1 to 10
        for j in range[1, 11]:
            # print multiplication
            print[i * j, end=' ']
        print[]
    4

Hãy cùng xem nhiều ví dụ như vậy.

Trong ví dụ này, chúng tôi sẽ sử dụng hai vòng

    [
        [4, 6, 8, 10, 12, 14, 16, 18, 20], 
        [6, 9, 12, 15, 18, 21, 24, 27, 30], 
        [8, 12, 16, 20, 24, 28, 32, 36, 40], 
        [10, 15, 20, 25, 30, 35, 40, 45, 50], 
        [12, 18, 24, 30, 36, 42, 48, 54, 60], 
        [14, 21, 28, 35, 42, 49, 56, 63, 70], 
        [16, 24, 32, 40, 48, 56, 64, 72, 80], 
        [18, 27, 36, 45, 54, 63, 72, 81, 90], 
        [20, 30, 40, 50, 60, 70, 80, 90, 100]
    ]
7 trong việc hiểu danh sách và kết quả cuối cùng sẽ là danh sách các danh sách. Chúng tôi sẽ không bao gồm các số tương tự trong mỗi danh sách. Chúng tôi sẽ lọc chúng bằng điều kiện IF.

output  = []
for m in list[range[2, 11]]:
    tmp = [m*z for z in list[range[2, 11]]]
    output.append[tmp]

print[output]
8

Output::

output  = []
for m in list[range[2, 11]]:
    tmp = [m*z for z in list[range[2, 11]]]
    output.append[tmp]

print[output]
9

Lồng nhau trong khi vòng lặp trong python

Trong Python, câu lệnh vòng lặp trong khi liên tục thực hiện một khối mã trong khi một điều kiện cụ thể là đúng. Chúng tôi sử dụng vòng lặp W A khi lặp số không được sửa.

Trong phần này, chúng ta sẽ thấy cách sử dụng vòng lặp trong một vòng khác trong khi vòng lặp.

Cú pháp để viết một câu lệnh trong khi loop & nbsp; trong Python như sau:nested while loop statement in Python is as follows:

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

Thí 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.

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

Output::

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

cho vòng lặp bên trong trong khi vòng lặp

Đôi khi rất hữu ích khi sử dụng một loại vòng lặp bên trong một loại vòng khác. Chúng ta có thể đặt A & nbsp; ________ 27 vòng lặp bên trong vòng lặp & nbsp; ________ 28.

Giả sử chúng tôi muốn in tất cả các số hoàn hảo từ 1 đến 100print all perfect numbers from 1 to 100

  • Ở đây chúng tôi sẽ lặp lại 100 số đầu tiên bằng cách sử dụng vòng lặp
        [
            [4, 6, 8, 10, 12, 14, 16, 18, 20], 
            [6, 9, 12, 15, 18, 21, 24, 27, 30], 
            [8, 12, 16, 20, 24, 28, 32, 36, 40], 
            [10, 15, 20, 25, 30, 35, 40, 45, 50], 
            [12, 18, 24, 30, 36, 42, 48, 54, 60], 
            [14, 21, 28, 35, 42, 49, 56, 63, 70], 
            [16, 24, 32, 40, 48, 56, 64, 72, 80], 
            [18, 27, 36, 45, 54, 63, 72, 81, 90], 
            [20, 30, 40, 50, 60, 70, 80, 90, 100]
        ]
    
    8
  • Trong mỗi lần lặp của vòng lặp
        [
            [4, 6, 8, 10, 12, 14, 16, 18, 20], 
            [6, 9, 12, 15, 18, 21, 24, 27, 30], 
            [8, 12, 16, 20, 24, 28, 32, 36, 40], 
            [10, 15, 20, 25, 30, 35, 40, 45, 50], 
            [12, 18, 24, 30, 36, 42, 48, 54, 60], 
            [14, 21, 28, 35, 42, 49, 56, 63, 70], 
            [16, 24, 32, 40, 48, 56, 64, 72, 80], 
            [18, 27, 36, 45, 54, 63, 72, 81, 90], 
            [20, 30, 40, 50, 60, 70, 80, 90, 100]
        ]
    
    8 bên ngoài, vòng lặp
        [
            [4, 6, 8, 10, 12, 14, 16, 18, 20], 
            [6, 9, 12, 15, 18, 21, 24, 27, 30], 
            [8, 12, 16, 20, 24, 28, 32, 36, 40], 
            [10, 15, 20, 25, 30, 35, 40, 45, 50], 
            [12, 18, 24, 30, 36, 42, 48, 54, 60], 
            [14, 21, 28, 35, 42, 49, 56, 63, 70], 
            [16, 24, 32, 40, 48, 56, 64, 72, 80], 
            [18, 27, 36, 45, 54, 63, 72, 81, 90], 
            [20, 30, 40, 50, 60, 70, 80, 90, 100]
        ]
    
    7 bên trong thực hiện từ 1 đến số bên ngoài hiện tại để kiểm tra xem số hiện tại có phải là số hoàn hảo không.
    [
        [4, 6, 8, 10, 12, 14, 16, 18, 20], 
        [6, 9, 12, 15, 18, 21, 24, 27, 30], 
        [8, 12, 16, 20, 24, 28, 32, 36, 40], 
        [10, 15, 20, 25, 30, 35, 40, 45, 50], 
        [12, 18, 24, 30, 36, 42, 48, 54, 60], 
        [14, 21, 28, 35, 42, 49, 56, 63, 70], 
        [16, 24, 32, 40, 48, 56, 64, 72, 80], 
        [18, 27, 36, 45, 54, 63, 72, 81, 90], 
        [20, 30, 40, 50, 60, 70, 80, 90, 100]
    ]
3

Khi nào nên sử dụng một vòng lặp lồng nhau trong Python?

  • Các vòng lặp lồng nhau rất tiện dụng khi bạn có các mảng hoặc danh sách cần được lặp qua cùng một chức năng.
  • Khi bạn muốn in các mẫu sao và số khác nhau bằng cách sử dụng các hàng có thể

Giữ sự phức tạp về thời gian trong tâm trí. Hãy để hiểu điều này với các ví dụ về cách lồng nhau cho công việc vòng lặp trong Python.. Let’s understand this with examples on how nested for loop work in Python.

Chúng tôi sử dụng cho vòng lặp để 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ư

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 
1. Ở đây độ phức tạp về thời gian là O [n] vì chúng tôi đang lặp lại tất cả các mục từ một danh sách.

Số lượng các bước thực thi [lặp] 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 và bên trong mà không có bất kỳ điều kiện nào trong đó, độ phức tạp của thời gian là

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 
2 bởi vì, đối với tất cả các phần tử N, mã được thực thi n lần.

Example::

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

Output::

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

Nếu bạn đưa ra một điều kiện trong vòng lặp bên trong sẽ ngừng thực thi sau một số yếu tố và không thực hiện tất cả các lần lặp n của vòng lặp bên trong hoặc vòng ngoài, nó sẽ có độ phức tạp thời gian ít hơn.

Sử dụng vòng lặp lồng nhau khi bạn không có bất kỳ lựa chọn thay thế nào tốt hơn, hãy nhớ viết mã hiệu quả và nhỏ gọn tốt hơn nhiều so với việc viết mã phức tạp., Remember writing efficient and compact code is far better than writing complex code.

Bạn có thể chạy nhiều vòng trong Python không?

Trong ngôn ngữ lập trình Python, có hai loại vòng lặp dành cho vòng lặp và trong khi vòng lặp.Sử dụng các vòng lặp này, chúng ta có thể tạo các vòng lặp lồng nhau trong Python.Các vòng lặp lồng có nghĩa là vòng lặp bên trong một vòng lặp.Ví dụ, trong khi vòng lặp bên trong vòng lặp, cho vòng lặp bên trong vòng lặp, v.v.Using these loops we can create nested loops in Python. Nested loops mean loops inside a loop. For example, while loop inside the for loop, for loop inside the for loop, etc.

Bạn có thể có hai cho các vòng lặp trong một chức năng?

Mỗi định nghĩa chức năng chỉ có thể có một vòng lặp.Một chức năng chứa một vòng lặp cũng không được sử dụng đệ quy.. A function that contains a loop must not also use recursion.

Python có thể chạy bao nhiêu vòng?

Có hai loại vòng lặp trong Python, cho và trong khi.two types of loops in Python, for and while.

Bạn có thể có hai cho các câu trong một dòng trong Python không?

Khoa học dữ liệu thực tế bằng cách sử dụng Python Những tuyên bố này rất có thể được viết trong một dòng bằng cách đặt dấu chấm phẩy ở giữa.Tuy nhiên, thực tế này không được phép nếu có một khối các câu lệnh lồng nhau.These statements can very well be written in one line by putting semicolon in between. However, this practice is not allowed if there is a nested block of statements.

Bài Viết Liên Quan

Chủ Đề