Trả về có phá vỡ vòng lặp while Python không?

Bạn có thể phải đối mặt với một tình huống mà 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

Ví 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

Ví 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

Ví 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]

Ví 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ã

Trong Python, từ khóa

0
1
2
3
Loop exited
4 khiến chương trình ngừng chạy mã trong một vòng lặp và bắt đầu quay lại ở đầu vòng lặp. Nhớ từ khóa
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!
1 khiến chương trình thoát khỏi vòng lặp.
0
1
2
3
Loop exited
4 cũng tương tự, nhưng
0
1
2
3
Loop exited
4 khiến chương trình dừng bước lặp hiện tại của vòng lặp và bắt đầu bước lặp tiếp theo ở đầu vòng lặp

Return có phá vỡ vòng lặp while không?

Chương trình bên dưới hiển thị ví dụ về phương thức count[] và câu lệnh return bên trong vòng lặp while. Như bạn có thể thấy sau khi chạy đoạn mã trên, return ngắt vòng lặp và thoát khỏi phương thức ngay sau khi nó được gọi .

Vòng lặp for có tiếp tục sau khi return trong Python không?

Có, việc quay lại từ một hàm sẽ ngắt một vòng lặp bên trong hàm đó . Bạn chỉ muốn trả về True sau khi vòng lặp kết thúc.

Chủ Đề