CodeGym /Kursy /Python SELF PL /Pętla while

Pętla while

Python SELF PL
Poziom 4 , Lekcja 3
Dostępny

9.1 Pętla warunkowa

Pętla for jest doskonała, gdy wiemy dokładnie ile razy chcemy wykonać blok instrukcji naszej pętli. Ale nie zawsze tak jest. W około połowie przypadków blok instrukcji trzeba wykonywać tak długo, jak długo spełniony jest pewien warunek (reguła).

Właśnie dlatego w języku Python mamy pętlę while. Jej ogólna postać jest jeszcze prostsza niż pętli for:


while warunek:
    komenda1 
    komenda2 
    komendaN 

Pętla będzie wykonywana, dopóki warunek jest prawdziwy.

Ważne! Aby pętla nie była wykonywana w nieskończoność, musi się dziać coś w bloku instrukcji, co wpływa na warunek. Aby ten warunek mógł kiedyś stać się fałszywy i pętla się zakończyła.

Przykład:

Przykład Wyjaśnienie

count = 0
while count < 5:
    print(count)
    count += 1
Pętla wyświetli na ekranie liczby 0 1 2 3 4

W pętli while nieskończenie wykonywane są dwie rzeczy:

  • Warunek jest sprawdzany.
  • Wykonywany jest blok instrukcji.

Jeśli warunek jest prawdziwy, zostanie wykonany blok instrukcji. Jeśli warunek jest fałszywy (nawet jeśli blok instrukcji nie został nigdy wykonany), pętla się skończy.

Jeszcze jeden przykład pętli while, połączony z wprowadzaniem nieznanej ilości danych przez użytkownika:

Przykład Wyjaśnienie

user_input = ""
while user_input != "exit":
    user_input = input("Wprowadź 'exit' aby zakończyć: ")
    print(user_input)
Pętla będzie wyświetlać wszystkie dane, dopóki użytkownik nie wprowadzi słowa exit. Po tym pętla zakończy się.

9.2 Operator break

W Pythonie operator break służy do natychmiastowego przerwania wykonywania pętli while lub pętli for. Jest on niezwykle przydatny w sytuacjach, gdy trzeba zakończyć pętlę przed jej normalnym zakończeniem według warunku.

Użycie break zwiększa elastyczność zarządzania przepływem programu, pozwalając reagować na dynamicznie zmieniające się warunki w czasie wykonania.

Podstawowe zastosowanie:


for num in range(10):
    if num == 5:
        break  # Przerywa pętlę, gdy num osiąga 5
    print(num)
        

W tym przykładzie pętla wyświetli liczby od 0 do 4. Gdy num osiągnie 5, pętla zostanie przerwana przez break.

Zastosowanie w nieskończonych pętlach:


while True:
    response = input("Wprowadź 'exit' aby zakończyć: ")
    if response == 'exit':
        break              

Tutaj break jest używany do opuszczenia nieskończonej pętli, kiedy użytkownik wprowadzi 'exit'.

Operator break jest również często używany do przerywania wykonywania zagnieżdżonych pętli, obsługi wyjątkowych sytuacji, gdzie wymagana jest natychmiastowa reakcja, oraz do przerywania procesów w aplikacjach wielowątkowych lub sieciowych.

Na przykład, w zadaniach związanych z wyszukiwaniem lub sortowaniem, gdzie po znalezieniu potrzebnego elementu dalsze wykonywanie pętli traci sens:


elements = [1, 2, 3, -99, 5]
# Znalezienie pierwszego elementu ujemnego
for element in elements:
    if element < 0:
        print("Znaleziono element ujemny: ", element)
        break              

Najlepsze praktyki obejmują rozważne użycie break, aby nie skomplikować logiki programu i nie uczynić go trudnym do zrozumienia. Dobrą praktyką jest komentowanie powodów przerwania pętli, szczególnie gdy nie są one oczywiste z kontekstu.

Użycie break powinno być uzasadnione i celowe. Na przykład, dla poprawy czytelności i efektywności kodu, a nie tylko dla "zepsucia" logiki. Efektywne użycie tego operatora może znacznie poprawić wydajność programów, szczególnie w algorytmach z intensywnymi obliczeniami.

9.3 Operator continue

Operator continue w Pythonie to potężne narzędzie do zarządzania przepływem wykonywania pętli. Omija resztę kodu w bieżącej iteracji pętli i przechodzi do następnej iteracji. Ten operator jest często używany w pętlach for i while do omijania określonych warunków bez przerywania całej pętli.

Podstawy użycia operatora continue

Oto jak działa continue w prostej pętli:


for i in range(10):
    if i % 2 == 0:
        continue
    print(i)              

W tym przykładzie pętla wyświetla tylko liczby nieparzyste od 1 do 9. Za każdym razem, gdy i jest parzysta (dzieli się przez 2 bez reszty), operator continue zadziała, omijając wywołanie funkcji print() i przechodzi do następnej iteracji.

Zastosowanie continue w rzeczywistych scenariuszach

Filtrowanie danych: continue może być używane do wstępnego filtrowania danych przed wykonaniem bardziej skomplikowanych operacji w pętli.


data = ["apple", "banana", "", "cherry", "date"]
for fruit in data:
    if not fruit:
        continue  # Pomiń puste ciągi
    print(fruit.capitalize())               

Omijanie specyficznych warunków: Szczególnie przydatny w sytuacjach, gdzie trzeba pominąć określone elementy w oparciu o złożone warunki.


    scores = [92, 85, 99, 78, 82, 100, 67, 88]
    for score in scores:
        if score < 80:
            continue  # Pomiń niskie wyniki
        print("Gratulacje, twój wynik: ", score)               

Operator continue w Pythonie oferuje elegancki sposób na uproszczenie kodu i uczynienie go bardziej czytelnym poprzez omijanie nieodpowiednich elementów w iteracjach. Nadmierne użycie continue może skomplikować zrozumienie, jakie dane są przetwarzane przez pętlę, szczególnie w skomplikowanych pętlach z wieloma warunkami. Należy zachować rozsądny balans.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION