Break có phải là một vòng lặp trong Python không?

Câu lệnh

H
e
l
l
o
,

Learn Data Science with

1 của Python cho phép bạn thoát khỏi vòng lặp
H
e
l
l
o
,

Learn Data Science with

2 hoặc
H
e
l
l
o
,

Learn Data Science with

3 kèm theo gần nhất. Thường thì bạn sẽ
H
e
l
l
o
,

Learn Data Science with

1 ngoài vòng lặp dựa trên một điều kiện cụ thể, như trong ví dụ sau

s = 'Hello, World!'

for char in s:
    print[char]
    if char == ',':
        break

Learn Data Science with

Ngoài

H
e
l
l
o
,

Learn Data Science with

Các câu lệnh

H
e
l
l
o
,

Learn Data Science with

5,
H
e
l
l
o
,

Learn Data Science with

2 và
H
e
l
l
o
,

Learn Data Science with

3 là cơ bản trong bất kỳ tập lệnh Python lớn nào [và trong một số tập lệnh nhỏ]. Các câu lệnh này tuân theo một bộ quy tắc nghiêm ngặt do Python xác định trước, vì vậy đôi khi chúng ta cần sử dụng cái được gọi là câu lệnh kiểm soát để tác động đến chúng. Ba câu lệnh kiểm soát là
H
e
l
l
o
,

Learn Data Science with

8,
H
e
l
l
o
,

Learn Data Science with

9 và
H
e
l
l
o
,

Learn Data Science with

1, cho phép bạn quản lý mã của mình theo những cách khác nhau

Trong bài viết này, chúng ta sẽ xem xét cụ thể câu lệnh

H
e
l
l
o
,

Learn Data Science with

1

ví dụ 1. Ngắt vòng lặp while

Như đã đề cập trong phần giới thiệu,

H
e
l
l
o
,

Learn Data Science with

1 kết thúc vòng lặp kèm theo của nó. Thông thường, một câu lệnh
H
e
l
l
o
,

Learn Data Science with

1 được liên kết với một điều kiện cụ thể, chỉ kích hoạt
H
e
l
l
o
,

Learn Data Science with

1 sau khi đáp ứng các yêu cầu được xác định trước

Trong ví dụ sau, chúng ta sẽ tìm mười bội số đầu tiên của bảy bằng cách sử dụng toán tử modulo [

number = 0
multiple_list = []

while True:
    number += 1
    if number % 7 == 0: # % 7 returns zero for numbers which are multiples of 7
        multiple_list.append[number]

    if len[multiple_list] == 10:
        # ten multiples have been found, exit the loop
        break

multiple_list

Learn Data Science with

5] và lệnh ngắt

number = 0
multiple_list = []

while True:
    number += 1
    if number % 7 == 0: # % 7 returns zero for numbers which are multiples of 7
        multiple_list.append[number]

    if len[multiple_list] == 10:
        # ten multiples have been found, exit the loop
        break

multiple_list

Learn Data Science with

Ngoài

[7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

Learn Data Science with

Sử dụng vòng lặp

H
e
l
l
o
,

Learn Data Science with

2 cho phép Python tiếp tục chạy qua mã của chúng tôi, mỗi lần thêm một vào
number = 0
multiple_list = []

while True:
    number += 1
    if number % 7 == 0: # % 7 returns zero for numbers which are multiples of 7
        multiple_list.append[number]

    if len[multiple_list] == 10:
        # ten multiples have been found, exit the loop
        break

multiple_list

Learn Data Science with

7. Bất cứ khi nào chúng tôi tìm thấy bội số, nó sẽ được thêm vào
number = 0
multiple_list = []

while True:
    number += 1
    if number % 7 == 0: # % 7 returns zero for numbers which are multiples of 7
        multiple_list.append[number]

    if len[multiple_list] == 10:
        # ten multiples have been found, exit the loop
        break

multiple_list

Learn Data Science with

8. Sau đó, câu lệnh
H
e
l
l
o
,

Learn Data Science with

5 thứ hai sẽ kiểm tra xem liệu chúng ta đã đạt được mười bội số hay chưa, sử dụng
H
e
l
l
o
,

Learn Data Science with

1 để thoát khỏi vòng lặp khi điều kiện này được thỏa mãn. Lưu đồ bên dưới hiển thị quy trình mà Python đang theo dõi trong ví dụ của chúng tôi

Learn Data Science with

1 sẽ kết thúc vòng lặp bao quanh gần nhất, nhưng điều này có thể hơi khó hiểu khi làm việc với các vòng lặp lồng nhau. Điều quan trọng cần nhớ là
H
e
l
l
o
,

Learn Data Science with

1 chỉ kết thúc vòng lặp trong cùng khi được sử dụng trong tập lệnh có nhiều vòng lặp đang hoạt động

Hãy xem xét ví dụ sau

strings = ['This ', 'is ', 'a ', 'list ']

# iterate through each string in the list
for string in strings:
    
    # iterate through each character in the string
    for char in string:
        print[char]
        
        if char == 'i':
            # if the character is equal to 'i', terminate the nested for loop
            print['break\n']
            break

Learn Data Science with

Ngoài

T
h
i
break

i
break

a
 
l
i
break

Learn Data Science with

Đối với bất kỳ chuỗi nào chứa một

[7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

Learn Data Science with

3,
H
e
l
l
o
,

Learn Data Science with

1 thoát khỏi vòng lặp
[7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

Learn Data Science with

5 của chúng tôi. Vì đây là vòng lặp trong cùng của chúng ta, Python sau đó chuyển sang mục tiếp theo trong vòng lặp
[7, 14, 21, 28, 35, 42, 49, 56, 63, 70]

Learn Data Science with

6

ví dụ 3. Phá vỡ vòng lặp vô tận

Điều đáng chú ý là nếu Python không kết thúc các vòng lặp

H
e
l
l
o
,

Learn Data Science with

2, thì chúng có thể lặp vô tận. Do đó, khi dựa vào câu lệnh
H
e
l
l
o
,

Learn Data Science with

1 để kết thúc vòng lặp
H
e
l
l
o
,

Learn Data Science with

2, bạn phải đảm bảo Python sẽ thực thi lệnh
H
e
l
l
o
,

Learn Data Science with

1 của bạn

Hãy xem xét ví dụ trước của chúng tôi, nơi chúng tôi đã viết một kịch bản để tìm mười bội số đầu tiên của bảy

# This is an infinite loop. Can you see why?
while True:
    res = input["Enter the number 5: "]
    if res == 5:
        break

Learn Data Science with

Ngoài

Enter the number 5:  5
Enter the number 5:  5
Enter the number 5:  5

Learn Data Science with

Đoạn mã trên là một ví dụ phổ biến về xử lý đầu vào của người dùng cho các lựa chọn menu trong một thiết bị đầu cuối. Vấn đề với ví dụ này là

strings = ['This ', 'is ', 'a ', 'list ']

# iterate through each string in the list
for string in strings:
    
    # iterate through each character in the string
    for char in string:
        print[char]
        
        if char == 'i':
            # if the character is equal to 'i', terminate the nested for loop
            print['break\n']
            break

Learn Data Science with

1 sẽ không bao giờ bằng 5 [kiểu số nguyên] vì
strings = ['This ', 'is ', 'a ', 'list ']

# iterate through each string in the list
for string in strings:
    
    # iterate through each character in the string
    for char in string:
        print[char]
        
        if char == 'i':
            # if the character is equal to 'i', terminate the nested for loop
            print['break\n']
            break

Learn Data Science with

2 trả về
strings = ['This ', 'is ', 'a ', 'list ']

# iterate through each string in the list
for string in strings:
    
    # iterate through each character in the string
    for char in string:
        print[char]
        
        if char == 'i':
            # if the character is equal to 'i', terminate the nested for loop
            print['break\n']
            break

Learn Data Science with

3 [kiểu chuỗi]. Tuyên bố
H
e
l
l
o
,

Learn Data Science with

1 không bao giờ đạt được. Cách chính xác để xử lý tình huống này là chuyển
strings = ['This ', 'is ', 'a ', 'list ']

# iterate through each string in the list
for string in strings:
    
    # iterate through each character in the string
    for char in string:
        print[char]
        
        if char == 'i':
            # if the character is equal to 'i', terminate the nested for loop
            print['break\n']
            break

Learn Data Science with

1 thành một
strings = ['This ', 'is ', 'a ', 'list ']

# iterate through each string in the list
for string in strings:
    
    # iterate through each character in the string
    for char in string:
        print[char]
        
        if char == 'i':
            # if the character is equal to 'i', terminate the nested for loop
            print['break\n']
            break

Learn Data Science with

6, như vậy

# This is an infinite loop. Can you see why?
while True:
    res = input["Enter the number 5: "]
    try:
        res = int[res]
    except:
        pass
        
    if res == 5:
        print["Thanks!"]
        break

Learn Data Science with

Ngoài

Enter the number 5:  2
Enter the number 5:  5

Learn Data Science with

Ngoài

H
e
l
l
o
,

Learn Data Science with

0

Có thể khó phát hiện khi một trong các quy trình nền của bạn bị kẹt trong một vòng lặp vô hạn. Bạn không vi phạm bất kỳ quy tắc nào của Python bằng cách mắc kẹt trong một vòng lặp, vì vậy thường không có bất kỳ thông báo lỗi hữu ích nào để cho bạn biết bạn đã làm sai điều gì

Các lỗi chính tả nhỏ như trong ví dụ trên cũng có thể rất khó phát hiện khi bạn gỡ lỗi. Do đó, một nguyên tắc nhỏ tuyệt vời cần tuân theo là luôn kiểm tra kỹ các điều kiện

H
e
l
l
o
,

Learn Data Science with

1 của bạn khi bạn viết chúng.

Tóm lược

H
e
l
l
o
,

Learn Data Science with

1 là một cách tuyệt vời để kiểm soát tập lệnh của bạn, do đó tại sao nó được gọi là câu lệnh kiểm soát. Nó kết thúc bất kỳ vòng lặp nào mà nó được đặt bên trong, khiến Python tiếp tục bất kỳ dòng mã nào xuất hiện sau vòng lặp. Đối với các tình huống sử dụng các vòng lặp lồng nhau,
H
e
l
l
o
,

Learn Data Science with

1 sẽ chỉ chấm dứt vòng lặp trong cùng. Chỉ cần đảm bảo rằng bạn luôn kiểm tra kỹ xem các câu lệnh
H
e
l
l
o
,

Learn Data Science with

1 của bạn có được kích hoạt khi bạn muốn hay không.

Đề xuất khóa học

học thêm

Hoàn thành theo dõi nhà phát triển Python — TreehouseHọc cách phát triển Python thông qua các dự án, đánh giá mã, câu đố và thử thách trên một trong những nền tảng tương tác trực tuyến tốt nhất

Bắt đầu học miễn phí

Nhận thông tin cập nhật trong hộp thư đến của bạn

Tham gia cùng hơn 7.500 người học khoa học dữ liệu

Bài viết gần đây

Ưu đãi khóa học tốt nhất cho Thứ Sáu Đen và Thứ Hai Điện Tử 2022Hàm sigmoidchấm sản phẩm7 khóa học về trí tuệ nhân tạo [AI] tốt nhất năm 2023

Nhận thông tin cập nhật trong hộp thư đến của bạn

Tham gia cùng hơn 7.500 người học khoa học dữ liệu

Gặp gỡ các tác giả

Nhà khoa học dữ liệu Alfie Grace

Alfie tốt nghiệp Thạc sĩ Kỹ thuật Cơ khí tại Đại học College London. Anh ấy hiện đang làm Nhà khoa học dữ liệu tại Square Enix. Tìm anh ấy trên LinkedIn

Break có phải là câu lệnh lặp không?

Dấu ngắt trong C++ là câu lệnh điều khiển vòng lặp dùng để kết thúc vòng lặp.

Break có dừng vòng lặp không?

break chấm dứt việc thực thi vòng lặp for hoặc while . Các câu lệnh trong vòng lặp sau câu lệnh break không thực thi. Trong các vòng lặp lồng nhau, break chỉ thoát khỏi vòng lặp mà nó xảy ra.

Việc ngắt trong Python có dừng tất cả các vòng lặp không?

Tuyên bố phá vỡ Python

Phá vỡ một từ khóa trong Python?

Từ khóa break được sử dụng để ngắt vòng lặp for hoặc vòng lặp while .

Chủ Đề