Làm cách nào để dừng vòng lặp for trong python?

vòng lặp for được sử dụng khi bạn có một khối mã mà bạn muốn lặp lại một số lần cố định. Vòng lặp for luôn được sử dụng kết hợp với một đối tượng có thể lặp lại, như danh sách hoặc dải ô. Câu lệnh for của Python lặp lại các phần tử của một dãy theo thứ tự, mỗi lần thực hiện khối đó. Ngược lại câu lệnh for với vòng lặp ''while'', được sử dụng khi một điều kiện cần được kiểm tra mỗi lần lặp lại hoặc để lặp lại mãi mãi một khối mã. Ví dụ

Đối với vòng lặp từ 0 đến 2, do đó chạy 3 lần

for x in range(0, 3):
    print("We're on time %d" % (x))

Trong khi vòng lặp từ 1 đến vô cùng, do đó chạy mãi mãi

x = 1
while True:
    print("To infinity and beyond! We're getting close, on %d now!" % (x))
    x += 1

Khi chạy ví dụ trên, bạn có thể dừng chương trình bằng cách nhấn đồng thời ctrl+c. Như bạn có thể thấy, các cấu trúc vòng lặp này phục vụ các mục đích khác nhau. Vòng lặp for chạy trong một số lần cố định, trong khi vòng lặp while chạy cho đến khi điều kiện vòng lặp thay đổi. Trong ví dụ này, điều kiện là giá trị boolean True sẽ không bao giờ thay đổi, vì vậy nó sẽ chạy mãi mãi

Họ làm việc như thế nào?

Nếu bạn đã thực hiện bất kỳ chương trình nào trước đây, chắc chắn bạn đã bắt gặp một vòng lặp for hoặc tương đương với nó. Nhiều ngôn ngữ có các điều kiện trong cú pháp vòng lặp for của chúng, chẳng hạn như biểu thức quan hệ để xác định xem vòng lặp đã hoàn thành hay chưa và biểu thức gia số để xác định giá trị vòng lặp tiếp theo. Trong Python, thay vào đó, điều này được kiểm soát bằng cách tạo chuỗi thích hợp. Về cơ bản, bất kỳ đối tượng nào có phương thức lặp lại đều có thể được sử dụng trong vòng lặp for. Các chuỗi chẵn, mặc dù không có phương thức có thể lặp lại - nhưng chúng tôi sẽ không đề cập đến vấn đề đó ở đây. Về cơ bản, có một phương thức có thể lặp lại có nghĩa là dữ liệu có thể được trình bày ở dạng danh sách, trong đó có nhiều giá trị theo thứ tự. Bạn có thể xác định các lần lặp của riêng mình bằng cách tạo một đối tượng với các phương thức next() và iter(). Điều này có nghĩa là bạn sẽ hiếm khi phải xử lý các số nguyên khi nói đến các vòng lặp for trong Python - tuyệt vời cho bất kỳ ai

Vòng lồng nhau

Khi bạn có một khối mã mà bạn muốn chạy x số lần, thì một khối mã trong mã đó mà bạn muốn chạy y số lần, bạn sử dụng cái được gọi là "vòng lặp lồng nhau". Trong Python, chúng được sử dụng nhiều bất cứ khi nào ai đó có danh sách các danh sách - một đối tượng có thể lặp lại trong một đối tượng có thể lặp lại

for x in range(1, 11):
    for y in range(1, 11):
        print('%d * %d = %d' % (x, y, x*y))

Giống như vòng lặp while, vòng lặp for có thể được thực hiện để thoát trước khi kết thúc đối tượng đã cho. Điều này được thực hiện bằng cách sử dụng câu lệnh break, câu lệnh này sẽ ngay lập tức thoát khỏi vòng lặp và tiếp tục thực hiện ở câu lệnh đầu tiên sau khối. Bạn cũng có thể có một mệnh đề khác tùy chọn, mệnh đề này sẽ chạy nếu vòng lặp for thoát ra một cách sạch sẽ - nghĩa là không bị ngắt

for x in range(3):
    if x == 1:
        break

ví dụ

Vì. Khác

for x in range(3):
    print(x)
else:
    print('Final x = %d' % (x))

Chuỗi như một lần lặp

string = "Hello World"
for x in string:
    print(x)

Liệt kê dưới dạng có thể lặp lại

collection = ['hey', 5, 'd']
for x in collection:
    print(x)

Lặp lại Danh sách các danh sách

list_of_lists = [ [1, 2, 3], [4, 5, 6], [7, 8, 9]]
for list in list_of_lists:
    for x in list:
        print(x)

Tạo iterable của riêng bạn

________số 8_______

Trình tạo phạm vi của riêng bạn sử dụng năng suất

def my_range(start, end, step):
    while start <= end:
        yield start
        start += step

for x in my_range(1, 10, 0.5):
    print(x)

Ghi chú về `phạm vi`

Hàm này thường xuất hiện trong các câu lệnh for mà bạn có thể nghĩ rằng phạm vi là một phần của cú pháp for. Không phải vậy. đó là một hàm tích hợp sẵn của Python trả về một chuỗi theo một mẫu cụ thể (thường là các số nguyên tuần tự), do đó đáp ứng yêu cầu cung cấp một chuỗi cho câu lệnh for để lặp lại. Vì for có thể hoạt động trực tiếp trên các chuỗi nên thường không cần đếm. Đây là cấu trúc phổ biến dành cho người mới bắt đầu (nếu chúng đến từ ngôn ngữ khác với cú pháp vòng lặp khác)

Cách tự nhiên nhất để kết thúc một vòng lặp Python for là làm cạn kiệt trình vòng lặp được xác định trong biểu thức vòng lặp for <var> in <iterator>. Nếu phương thức next() của iterator không trả về giá trị nữa, chương trình sẽ tiếp tục với câu lệnh tiếp theo sau cấu trúc vòng lặp. Điều này ngay lập tức kết thúc vòng lặp

Đây là một ví dụ cho thấy cách vòng lặp for kết thúc ngay khi tất cả các phần tử đã được truy cập trong trình vòng lặp được trả về bởi hàm range()

s = 'hello world'

for c in range(5):
    print(c, end='')

# hello

👉 Hướng dẫn đề xuất. Trình lặp, Iterable và Itertools

Phương pháp 2. Từ khóa "phá vỡ"

Nếu chương trình thực hiện một câu lệnh với từ khóa break, vòng lặp sẽ kết thúc ngay lập tức. Không có câu lệnh nào khác trong thân vòng lặp được thực thi và chương trình tiếp tục với câu lệnh đầu tiên sau cấu trúc vòng lặp. Trong hầu hết các trường hợp, bạn sẽ sử dụng từ khóa

s = 'hello world'

for i in range(10):
    print(s[i], end='')

    if i == 5:
        break

# hello
0 trong cấu trúc if để quyết định một cách linh hoạt liệu một vòng lặp có nên kết thúc hay không

Trong ví dụ sau, chúng tôi tạo một chuỗi có 11 ký tự và nhập một vòng lặp for kết thúc sớm sau năm lần lặp — sử dụng từ khóa

s = 'hello world'

for i in range(10):
    print(s[i], end='')

    if i == 5:
        break

# hello
0 trong điều kiện
s = 'hello world'

for i in range(10):
    print(s[i], end='')

    if i == 5:
        break

# hello
2 để thực hiện điều đó

s = 'hello world'

for i in range(10):
    print(s[i], end='')

    if i == 5:
        break

# hello

Ngay khi điều kiện

s = 'hello world'

for i in range(10):
    print(s[i], end='')

    if i == 5:
        break

# hello
2 có giá trị là
s = 'hello world'

for i in range(10):
    print(s[i], end='')

    if i == 5:
        break

# hello
4, câu lệnh
s = 'hello world'

for i in range(10):
    print(s[i], end='')

    if i == 5:
        break

# hello
0 được thực thi—vòng lặp kết thúc

👉 Hướng dẫn đề xuất. Làm cách nào để kết thúc vòng lặp While?

Phương pháp 3. Từ khóa “tiếp tục”

Từ khóa continue chỉ kết thúc vòng lặp hiện tại chứ không phải toàn bộ vòng lặp. Chương trình tiếp tục với câu lệnh đầu tiên trong thân vòng lặp. Cách sử dụng continue phổ biến nhất là để tránh việc thực thi một số phần của thân vòng lặp, bị ràng buộc bởi một điều kiện được kiểm tra trong cấu trúc if

Đây là một ví dụ

for i in range(10):

    if i == 5:
        break
    else:
        continue

    print('NEVER EXECUTED')

Python lặp qua một iterator với 10 phần tử. Tuy nhiên, trong mỗi lần lặp, nó sẽ kết thúc vòng lặp bằng cách sử dụng

s = 'hello world'

for i in range(10):
    print(s[i], end='')

    if i == 5:
        break

# hello
0 hoặc tiếp tục với lần lặp tiếp theo bằng cách sử dụng
s = 'hello world'

for i in range(10):
    print(s[i], end='')

    if i == 5:
        break

# hello
8

Tuy nhiên, phần thân vòng lặp còn lại thực sự làm một việc gì đó chẳng hạn như in

s = 'hello world'

for i in range(10):
    print(s[i], end='')

    if i == 5:
        break

# hello
9 lại không bao giờ được thực thi

Bảng cheat từ khóa Python

Bạn có thể tìm hiểu về các từ khóa Python quan trọng nhất trong cheat sheet ngắn gọn này—nếu bạn giống tôi, bạn cũng thích cheat sheet. ⤵️

Làm cách nào để dừng vòng lặp for trong python?

Bạn có thể tải về tại đây

Tóm lược

Bạn đã học được ba cách để chấm dứt vòng lặp while

  • Phương pháp 1. Vòng lặp for tự động kết thúc sau khi tất cả các phần tử đã được truy cập. Bạn có thể sửa đổi iterator bằng cách sử dụng phương thức
    for i in range(10):
    
        if i == 5:
            break
        else:
            continue
    
        print('NEVER EXECUTED')
    0 dunder
  • Phương pháp 2. Từ khóa break kết thúc một vòng lặp ngay lập tức. Chương trình tiếp tục với câu lệnh đầu tiên sau khi xây dựng vòng lặp
  • Phương pháp 3. Từ khóa continue chỉ kết thúc vòng lặp hiện tại chứ không phải toàn bộ vòng lặp. Chương trình tiếp tục với câu lệnh đầu tiên trong thân vòng lặp

Cảm ơn bạn đã đọc hướng dẫn này—nếu bạn muốn nâng cao kỹ năng Python của mình hơn nữa, tôi khuyên bạn nên xem qua học viện email miễn phí của tôi và tải xuống các bài học Python miễn phí và bảng gian lận tại đây

Tham gia cùng chúng tôi, thật vui. 🙂

lập trình viên

for i in range(10):

    if i == 5:
        break
    else:
        continue

    print('NEVER EXECUTED')
3

Làm cách nào để dừng vòng lặp for trong python?

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners (NoStarch 2020), đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Chúng ta có thể dừng vòng lặp Python không?

Trong Python, cách chính để thoát khỏi vòng lặp là sử dụng câu lệnh break . Khi câu lệnh break chạy trong một vòng lặp, nó sẽ kết thúc vòng lặp đó. Tuy nhiên, một điều cần lưu ý là các câu lệnh break sẽ chỉ chấm dứt vòng lặp trong cùng mà nó được chạy bên trong.

Câu lệnh nào dùng để dừng vòng lặp for?

Mục đích của câu lệnh break là thoát ra khỏi vòng lặp sớm. Ví dụ: nếu đoạn mã sau yêu cầu sử dụng, hãy nhập một số nguyên x. Nếu x chia hết cho 5, câu lệnh break được thực hiện và điều này dẫn đến việc thoát khỏi vòng lặp