Phá vỡ nếu Python

Bạn có thể phải đối mặt với một tình huống trong đó bạn cần phải thoát khỏi một vòng lặp hoàn toàn khi một điều kiện bên ngoài được kích hoạt hoặc cũng có thể có một tình huống khi bạn muốn bỏ qua một phần của vòng lặp và bắt đầu thực hiện tiếp theo

Python cung cấp các câu lệnh break và continue để xử lý các tình huống như vậy và để kiểm soát tốt vòng lặp của bạn

Hướng dẫn này sẽ thảo luận về các câu lệnh break, continue và pass có sẵn trong Python

Câu lệnh break trong Python kết thúc vòng lặp hiện tại và tiếp tục thực thi ở câu lệnh tiếp theo, giống như câu lệnh break truyền thống trong C

Việc sử dụng ngắt phổ biến nhất là khi một số điều kiện bên ngoài được kích hoạt yêu cầu phải nhanh chóng thoát khỏi một vòng lặp. Câu lệnh break có thể được sử dụng trong cả vòng lặp while và for

Thí dụ

#!/usr/bin/python

for letter in 'Python':     # First Example
   if letter == 'h':
      break
   print 'Current Letter :', letter
  
var = 10                    # Second Example
while var > 0:              
   print 'Current variable value :', var
   var = var -1
   if var == 5:
      break

print "Good bye!"

Điều này sẽ tạo ra kết quả sau

Current Letter : P
Current Letter : y
Current Letter : t
Current variable value : 10
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
Good bye!

Câu lệnh continue trong Python trả điều khiển về đầu vòng lặp while. Câu lệnh continue loại bỏ tất cả các câu lệnh còn lại trong lần lặp hiện tại của vòng lặp và di chuyển điều khiển trở lại đầu vòng lặp

Câu lệnh continue có thể được sử dụng trong cả vòng lặp while và for

Thí dụ

#!/usr/bin/python

for letter in 'Python':     # First Example
   if letter == 'h':
      continue
   print 'Current Letter :', letter

var = 10                    # Second Example
while var > 0:              
   var = var -1
   if var == 5:
      continue
   print 'Current variable value :', var
print "Good bye!"

Điều này sẽ tạo ra kết quả sau

Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : o
Current Letter : n
Current variable value : 10
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
Current variable value : 4
Current variable value : 3
Current variable value : 2
Current variable value : 1
Good bye!

Python hỗ trợ để có một câu lệnh khác được liên kết với một câu lệnh vòng lặp

  • Nếu câu lệnh khác được sử dụng với vòng lặp for, thì câu lệnh khác được thực hiện khi vòng lặp chạy hết việc lặp lại danh sách

  • Nếu câu lệnh khác được sử dụng với vòng lặp while, câu lệnh khác được thực thi khi điều kiện trở thành sai

Thí dụ

Ví dụ sau minh họa sự kết hợp của câu lệnh other với câu lệnh for tìm kiếm các số nguyên tố từ 10 đến 20

#!/usr/bin/python

for num in range(10,20):  #to iterate between 10 to 20
   for i in range(2,num): #to iterate on the factors of the number
      if num%i == 0:      #to determine the first factor
         j=num/i #to calculate the second factor
         print '%d equals %d * %d' % (num,i,j)
         break #to move to the next number, the #first FOR
   else:        # else part of the loop
      print num, 'is a prime number'

Điều này sẽ tạo ra kết quả sau

10 equals 2 * 5
11 is a prime number
12 equals 2 * 6
13 is a prime number
14 equals 2 * 7
15 equals 3 * 5
16 equals 2 * 8
17 is a prime number
18 equals 2 * 9
19 is a prime number

Cách tương tự bạn có thể sử dụng câu lệnh khác với vòng lặp while

Câu lệnh pass trong Python được sử dụng khi một câu lệnh được yêu cầu về mặt cú pháp nhưng bạn không muốn bất kỳ lệnh hoặc mã nào thực thi

Câu lệnh vượt qua là một thao tác null; . Thẻ cũng hữu ích ở những nơi mà mã của bạn cuối cùng sẽ đi, nhưng chưa được viết (e. g. , trong sơ khai chẳng hạn)

Thí dụ

#!/usr/bin/python

for letter in 'Python': 
   if letter == 'h':
      pass
      print 'This is pass block'
   print 'Current Letter :', letter

print "Good bye!"

Điều này sẽ tạo ra kết quả sau

Current Letter : P
Current Letter : y
Current Letter : t
This is pass block
Current Letter : h
Current Letter : o
Current Letter : n
Good bye!

Đoạn mã trước không thực thi bất kỳ câu lệnh hoặc mã nào nếu giá trị của chữ cái là 'h'. Câu lệnh vượt qua rất hữu ích khi bạn đã tạo một khối mã nhưng nó không còn cần thiết nữa

Sau đó, bạn có thể xóa các câu lệnh bên trong khối nhưng để khối đó ở lại với câu lệnh vượt qua để nó không can thiệp vào các phần khác của mã

break là một câu lệnh nhảy có thể thoát ra khỏi vòng lặp nếu một điều kiện cụ thể được thỏa mãn. Chúng ta có thể sử dụng câu lệnh break bên trong câu lệnh if trong một vòng lặp

Mục đích chính của câu lệnh break là di chuyển luồng điều khiển của chương trình của chúng ta ra ngoài vòng lặp hiện tại. Chương trình dưới đây trình bày cách bạn có thể sử dụng câu lệnh break bên trong câu lệnh if

________số 8_______

đầu ra

Chúng tôi đã phát triển một chương trình bằng cách sử dụng câu lệnh break để thoát khỏi vòng lặp nếu giá trị của biến

i =0
if i%2 == 0:
    if i == 0:
        break
    if i > 0:
        print("even")
print("Broken")
3 bằng với
i =0
if i%2 == 0:
    if i == 0:
        break
    if i > 0:
        print("even")
print("Broken")
4. Điều duy nhất còn thiếu với cách tiếp cận này là chúng ta chỉ có thể sử dụng nó bên trong một câu lệnh if được đặt bên trong một vòng lặp. Chúng tôi không thể sử dụng điều này bên trong một câu lệnh if lồng nhau, như được hiển thị bên dưới

i =0
if i%2 == 0:
    if i == 0:
        break
    if i > 0:
        print("even")
print("Broken")

đầu ra

File "", line 4
    break
    ^
SyntaxError: 'break' outside loop

Nếu chúng ta muốn thoát khỏi một câu lệnh if thuần túy không nằm trong vòng lặp, chúng ta phải sử dụng cách tiếp cận tiếp theo

Thoát khỏi câu lệnh if với Phương thức hàm trong Python

Chúng ta có thể sử dụng một phương pháp thay thế để thoát khỏi câu lệnh if hoặc câu lệnh if lồng nhau. Chúng tôi đặt câu lệnh if lồng nhau bên trong một hàm và sử dụng câu lệnh

File "", line 4
    break
    ^
SyntaxError: 'break' outside loop
2 bất cứ nơi nào chúng tôi muốn thoát

Đoạn mã sau sửa đổi ví dụ trước theo phương thức hàm

def something(i):
    if i%2 == 0:
        if i == 0:
            return
        if i > 0:
            print("even")

if __name__ == "__main__":
    something(0)
    print("Broken out")

đầu ra

Chúng tôi đã phát triển một chương trình sử dụng phương thức hàm để thoát khỏi nhiều câu lệnh if với câu lệnh

File "", line 4
    break
    ^
SyntaxError: 'break' outside loop
2. Phương pháp này sạch sẽ và vượt trội hơn nhiều so với bất kỳ phương pháp nào khác có thể được sử dụng cho mục đích này

Rất nhiều diễn đàn đề cập đến một phương pháp khác cho mục đích này liên quan đến câu lệnh

File "", line 4
    break
    ^
SyntaxError: 'break' outside loop
5. Theo mặc định, chúng tôi biết rằng Python không hỗ trợ câu lệnh
File "", line 4
    break
    ^
SyntaxError: 'break' outside loop
5

Tuy nhiên, vào năm 2004, một mô-đun

File "", line 4
    break
    ^
SyntaxError: 'break' outside loop
5 đã được phát hành như một phần của trò đùa ngày cá tháng tư công phu mà người dùng bắt đầu sử dụng nghiêm túc. Chúng tôi đã không đề cập đến nó bởi vì nó không phải là một phương thức duyên dáng và trang chính thức của nó lưu ý rằng nó không bao giờ được sử dụng bên trong bất kỳ mã sản xuất nào

Chúng ta có thể sử dụng ngắt nếu trong Python không?

Đừng lo lắng, hướng dẫn này sẽ xem xét một số ví dụ và cách thức hoạt động của nó, theo thuật ngữ thông thườ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.

Bạn có thể sử dụng break trong câu lệnh if không?

Câu lệnh break kết thúc vòng lặp ngay khi gặp. Cú pháp của nó là. nghỉ; . câu lệnh khác bên trong vòng lặp The break statement is almost always used with if...else statement inside the loop .

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

Bạn không thoát ra khỏi nếu . break chỉ có thể thoát khỏi vòng lặp bao quanh hoặc câu lệnh chuyển đổi bao quanh (ý tưởng tương tự như vòng lặp bao quanh, nhưng đó là câu lệnh chuyển đổi). Nếu một câu lệnh ngắt xuất hiện trong phần thân if, chỉ cần bỏ qua câu lệnh if.