Python trong khi ngắt vòng lặp không hoạt động

Để minh họa cho các phương pháp này, bạn sẽ học cách sử dụng từng phương pháp để đạt được điều tương tự. xóa ký tự đầu tiên khỏi chuỗi cho đến khi chỉ còn lại 5 phần tử

Bạn cũng có thể xem video giải thích của tôi khi xem qua bài viết

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


Xem video này trên YouTube

Phương pháp 1. Điều kiện vòng lặp While

Cách Pythonic nhất để kết thúc vòng lặp while là sử dụng điều kiện while theo ngay sau từ khóa ________ 18 và trước dấu hai chấm, chẳng hạn như ________ 19. Nếu điều kiện ước tính là

s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
0, 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 while kết thúc ngay khi một chuỗi đã cho bao gồm 5 ký tự trở xuống. Trong mỗi lần lặp, bạn giảm độ dài của chuỗi trong biến

s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
1 xuống một bằng cách sử dụng tính năng cắt chuỗi, vì vậy vòng lặp cuối cùng sẽ kết thúc, bất kể độ dài ban đầu của chuỗi là bao nhiêu

s = 'hello world'

while len[s] > 5:
    s = s[1:]

print[s]
# world

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

s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
2, 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'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
1 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 ta tạo một chuỗi có 11 ký tự và nhập một vòng lặp while không xác định với điều kiện vòng lặp luôn được đáp ứng [

s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
2]. Nếu bạn không kết thúc vòng lặp sớm trong thân vòng lặp, Python sẽ chạy mã này mãi mãi

s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world

May mắn thay, bạn thêm một cấu trúc if có chứa từ khóa

s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
1 vào nhánh khác. Ngay khi điều kiện
s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
4 ước tính thành
s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
0, nhánh
s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
6 được thực thi và câu lệnh
s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
1 được thực thi—vòng lặp kết thúc

Chỉ một chuỗi có 5 ký tự trở xuống khiến điều kiện

s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
4 ước tính thành
s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
0, vì vậy vòng lặp kết thúc ngay khi s giữ chuỗi
s = 'hello world'

while len[s] > 5:
    s = s[1:]
    if len[s] > 5:
        continue
    print[s]

# world
0

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

Từ khóa

s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
5 chỉ kết thúc vòng lặp hiện tại chứ không kết thúc 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ụ

s = 'hello world'

while len[s] > 5:
    s = s[1:]
    if len[s] > 5:
        continue
    print[s]

# world

Bạn bắt đầu với cùng một chuỗi

s = 'hello world'

while len[s] > 5:
    s = s[1:]
    if len[s] > 5:
        continue
    print[s]

# world
2. Python kiểm tra xem chuỗi có nhiều hơn 5 ký tự trong điều kiện vòng lặp while hay không — đó là trường hợp

Sau đó, nó đi vào thân vòng lặp và về cơ bản giảm độ dài của chuỗi xuống một. Bây giờ, nó sẽ kiểm tra xem

s = 'hello world'

while len[s] > 5:
    s = s[1:]
    if len[s] > 5:
        continue
    print[s]

# world
3 có đúng không khi chuỗi có nhiều hơn 5 ký tự. Trong những trường hợp này, câu lệnh
s = 'hello world'

while len[s] > 5:
    s = s[1:]
    if len[s] > 5:
        continue
    print[s]

# world
4 được thực thi và Python ngay lập tức kết thúc vòng lặp hiện tại và tiếp tục với điều kiện vòng lặp trong khi
s = 'hello world'

while len[s] > 5:
    s = s[1:]
    if len[s] > 5:
        continue
    print[s]

# world
5

Tuy nhiên, ngay khi chuỗi

s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
1 chỉ gồm 5 ký tự
s = 'hello world'

while len[s] > 5:
    s = s[1:]
    if len[s] > 5:
        continue
    print[s]

# world
0, nhánh if không được thực hiện và câu lệnh
s = 'hello world'

while len[s] > 5:
    s = s[1:]
    if len[s] > 5:
        continue
    print[s]

# world
4 bị bỏ qua. Thay vào đó, nó in chuỗi ra trình bao và kiểm tra điều kiện vòng lặp không được đáp ứng—và nó rời khỏi vòng lặp

Mặc dù thân vòng lặp đã được chạy nhiều lần nhưng câu lệnh

s = 'hello world'

while len[s] > 5:
    s = s[1:]
    if len[s] > 5:
        continue
    print[s]

# world
9 chỉ được thực hiện một lần

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

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. ?

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

Bản tóm tắt

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

Phương pháp 1. Điều kiện vòng lặp while được kiểm tra một lần cho mỗi lần lặp. Nếu nó đánh giá là Sai, chương trình kết thúc vòng lặp và 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 2. Từ khóa

s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
2 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

s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
5 chỉ kết thúc vòng lặp hiện tại chứ không kết thúc 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

s = 'hello world'

while True:
    if len[s] > 5:
        s = s[1:]
    else:
        break

print[s]
# world
02

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

Tại sao vòng lặp while của tôi không phá vỡ Python?

Nếu vòng lặp while không có điều kiện cho phép nó bị ngắt, điều này sẽ tạo thành cái được gọi là vòng lặp vô tận . Một vòng lặp vô hạn là một vòng lặp diễn ra mãi mãi không có điểm kết thúc. Thông thường trong các chương trình, các vòng lặp vô hạn không phải là điều mà lập trình viên mong muốn. Lập trình viên thường muốn tạo các vòng lặp có điểm kết thúc.

Break có hoạt động trong vòng lặp Python không?

Bạn có thể sử dụng break trong Python trong tất cả các vòng lặp. while, for và lồng nhau . Nếu bạn đang sử dụng nó trong các vòng lặp lồng nhau, nó sẽ kết thúc vòng lặp trong cùng nơi bạn đã sử dụng nó và quyền điều khiển chương trình sẽ chuyển sang vòng lặp bên ngoài.

Tại sao break không hoạt động trong Python?

câu lệnh ngắt không hoạt động và vòng lặp đang chạy vô tận. Câu trả lời cho câu hỏi của bạn là câu lệnh "break" đề cập đến vòng lặp for chứ không phải vòng lặp while .

Bạn có thể sử dụng break để thoát khỏi vòng lặp while không?

Câu lệnh break hoàn toàn thoát khỏi vòng lặp for hoặc while . Để bỏ qua phần còn lại của hướng dẫn trong vòng lặp và bắt đầu lần lặp tiếp theo, hãy sử dụng câu lệnh tiếp tục. break không được xác định bên ngoài vòng lặp for hoặc while.

Chủ Đề