2011-09-22 29 views
5

Tôi nhận thấy rằng tiêu đề có thể hơi khó hiểu, vì vậy tôi xin lỗi.Làm thế nào để thoát ra khỏi vòng lặp chỉ khi một trường hợp nhất định được đáp ứng, nhưng sau đó tiếp tục lặp?

Về cơ bản, đây là mã của tôi:

while i < 5: 
    do stuff 
    if i == 3: 
     print "i is 3" 
     break 

Bây giờ tất cả những gì có vẻ khá đơn giản, phải không? Ngoại trừ tôi không thực sự muốn BREAK từ vòng lặp nhiều như tôi muốn nó bắt đầu lại. Vì vậy, trong trường hợp này kết quả mong muốn sẽ được lặp qua 1, 2, sau đó khi 3 thoát ra, nhưng sau đó tiếp tục lặp lại với 4. Làm thế nào để tôi làm điều đó?

+1

Như Matthew chỉ ra, bạn có thể sử dụng 'continue' thay vì' break'. Nhưng vì 'tiếp tục' sẽ là câu lệnh cuối cùng trong vòng lặp, bạn chỉ có thể xóa' ngắt' của mình. –

Trả lời

8
while i < 5: 
    do stuff 
    if i == 3: 
     print "i is 3" 
     continue 
+0

Wow ... Cảm ơn. Sẽ đánh dấu nó như là câu trả lời thời điểm tôi được phép làm như vậy. –

2

Thay vì sử dụng breakcontinue

Bây giờ, tôi khá nhiều bao giờ sử dụng tiếp tục như tôi thấy nó thường rõ ràng hơn để làm lại các mã để tránh nó. Tất nhiên điều đó thực sự dễ dàng trong ví dụ này, nếu bạn gặp rắc rối với một ví dụ phức tạp hơn, hãy hỏi về điều đó.

Các vấn đề liên quan