2011-09-22 19 views
5

Rozumiem, że tytuł może być nieco mylący, więc przepraszam.Jak wyjść z pętli tylko wtedy, gdy pewien przypadek jest spełniony, ale następnie kontynuować iterację?

Zasadniczo, jest to mój kod:

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

Teraz wszystko, co brzmi dość proste, prawda? Tyle tylko, że naprawdę nie chcę ZEROWAĆ z pętli tak bardzo, jakbym chciał, żeby wszystko zaczęło się od nowa. Tak więc w tym przypadku pożądanym rezultatem byłoby powtórzenie 1, 2, a następnie 3 wyrwanie, ale kontynuowanie iteracji z 4. Jak to zrobić?

+1

Jak zauważa Mateusz, możesz użyć 'kontynuuj' zamiast' break'. Ale ponieważ 'continue' będzie ostatnią instrukcją w pętli, możesz po prostu usunąć swoje' break'. –

Odpowiedz

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

Wow ... Dzięki. Oznaczę to jako odpowiedź w momencie, w którym mogę to zrobić. –

2

Zamiast break użycie continue

Teraz, prawie nigdy nie używać w dalszym ciągu jak znajdę to zwykle jaśniejsze przerobienie kodu, aby go uniknąć. Oczywiście w tym przykładzie jest to łatwe, jeśli masz problem z bardziej złożonym przykładem, zapytaj o to.

Powiązane problemy