Wszystko o Pythonie While Loop z przykładami

Wszystko o Pythonie While Loop z przykładami

Węzeł źródłowy: 3091323

Wprowadzenie

Pętla while to podstawowa instrukcja przepływu sterowania w Pythonie, która umożliwia wielokrotne wykonanie bloku kodu, o ile spełniony jest określony warunek. Umożliwia automatyzację powtarzalnych zadań i iterację po sekwencji wartości. W tym artykule omówimy składnię, użycie i różne zastosowania pętli while w Pythonie.

Pętla while w Pythonie

Spis treści

Składnia i struktura pętli while

Składnia pętli while w Pythonie jest następująca:

while condition:
    # code to be executed

Warunek jest wyrażeniem boolowskim określającym, czy pętla powinna być kontynuowana, czy zakończona. Jeśli warunek zostanie uznany za prawdziwy, blok kodu wewnątrz pętli będzie wykonywany wielokrotnie. Gdy warunek stanie się fałszywy, pętla zakończy działanie, a program będzie kontynuował wykonanie następnej instrukcji po pętli.

Podstawowe użycie i przykłady

Zacznijmy od prostego przykładu, aby zrozumieć podstawowe użycie pętli while. Załóżmy, że chcemy wydrukować liczby od 1 do 5. Możemy to osiągnąć za pomocą pętli while, jak pokazano poniżej:

num = 1
while num <= 5:
    print(num)
    num += 1

Wydajność

1

2

3

4

5

W tym przykładzie inicjujemy zmienną `num` na 1. Pętla while kontynuuje działanie, jeśli `num` jest mniejsze lub równe 5. Wewnątrz pętli wypisujemy wartość `num`, a następnie zwiększamy ją o 1 za pomocą operatora `+=`. Proces ten powtarza się, aż „liczba” zmieni się na 6, kiedy warunek zmieni się na Fałsz i pętla się zakończy.

Sterowanie przepływem za pomocą instrukcji sterowania pętlą

Python udostępnia trzy instrukcje sterujące pętlą: „break”, „kontynuuj” i „pass”, które pozwalają kontrolować przebieg pętli while.

Oświadczenie o „przerwie”.

Instrukcja „break” służy do przedwczesnego wyjścia z pętli, nawet jeśli warunek pętli jest nadal spełniony. Jest często używany, gdy spełniony jest określony warunek i chcesz natychmiast zakończyć pętlę. Oto przykład:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

Wydajność

1

2

3

4

5

W tym przykładzie pętla kończy się, gdy „liczba” staje się 6, ponieważ użyliśmy instrukcji „break” wewnątrz warunku if. W rezultacie drukowane są tylko liczby od 1 do 5.

Oświadczenie „kontynuuj”.

Instrukcja „kontynuuj” służy do pominięcia reszty bloku kodu wewnątrz pętli i przejścia do następnej iteracji. Jest to przydatne, gdy chcesz pominąć pewne wartości lub warunki i kontynuować następną iterację. Oto przykład:

num = 1
while num <= 5:
    if num == 3:
        num += 1
        continue
    print(num)
    num += 1

Wydajność

1

2

4

5

W tym przykładzie pętla pomija wartość 3, ponieważ wewnątrz warunku if użyliśmy instrukcji „kontynuuj”. W rezultacie liczba 3 nie jest drukowana, a pętla jest kontynuowana w następnej iteracji.

Oświadczenie „pass”.

Instrukcja „pass” pełni funkcję zastępczą, gdy nie chcesz nic robić wewnątrz pętli. Jest często używany jako tymczasowy element zastępczy podczas programowania lub gdy chcesz utworzyć pustą pętlę. Oto przykład:

num = 1
while num <= 5:
    pass
    num += 1

W tym przykładzie instrukcja „pass” nic nie robi, a pętla zwiększa wartość „num”, aż osiągnie 6.

Typowe przypadki użycia i zastosowania

Podczas gdy pętle mają szeroki zakres zastosowań w Pythonie. Przyjrzyjmy się kilku typowym przypadkom użycia:

Iterowanie aż do spełnienia warunku

Pętle while są powszechnie używane, gdy chcesz iterować, aż zostanie spełniony określony warunek. Na przykład chcemy znaleźć pierwszą potęgę liczby 2 większą niż 1000. Aby to osiągnąć, możemy użyć pętli while:

num = 1
while num <= 1000:
    num *= 2
print(num)

Wydajność

1024

W tym przykładzie pętla jest kontynuowana, aż liczba „liczba” przekroczy 1000. Dla każdej iteracji liczba „liczba” jest mnożona przez 2 i drukowana jest wartość końcowa.

Weryfikacja danych wprowadzonych przez użytkownika

Pętle while są przydatne do sprawdzania poprawności danych wejściowych użytkownika i upewniania się, że dane wejściowe spełniają określone kryteria. Na przykład chcemy poprosić użytkownika o wprowadzenie dodatniej liczby całkowitej. Możemy użyć pętli while, aby poprosić o wprowadzenie danych, dopóki poprawna liczba całkowita nie zostanie wprowadzona wielokrotnie:

while True:
    try:
        num = int(input("Enter a positive integer: "))
        if num > 0:
            break
        else:
            print("Invalid input. Please enter a positive integer.")
    except ValueError:
        print("Invalid input. Please enter a valid integer.")

W tym przykładzie pętla trwa w nieskończoność, aż do wprowadzenia prawidłowej dodatniej liczby całkowitej. Blok „try-except” obsługuje potencjalne błędy podczas konwersji danych wejściowych na liczbę całkowitą.

Tworzenie nieskończonych pętli

Za pomocą pętli while można tworzyć nieskończone pętle, które działają w nieskończoność, aż do spełnienia określonego warunku. Na przykład utwórzmy prostą nieskończoną pętlę, która wypisuje komunikat „Hello, World!” wielokrotnie:

while True:
    print("Hello, World!")

W tym przykładzie warunek pętli ma zawsze wartość True, więc pętla trwa w nieskończoność. Aby zakończyć pętlę, możesz użyć instrukcji `break` lub przerwać wykonywanie programu.

Nieskończona pętla może być przydatna w kontekście systemu monitorowania lub rejestrowania w czasie rzeczywistym. Wyobraź sobie sytuację, w której musisz stale monitorować system lub sieć pod kątem określonych zdarzeń lub zmian i rejestrować informacje. Do sprawdzania tych warunków i ciągłego podejmowania odpowiednich działań można zastosować nieskończoną pętlę.

Implementowanie pętli gry

Pętle są powszechnie używane w tworzeniu gier do implementowania pętli gier, które kontrolują przebieg gry i obsługują dane wprowadzane przez użytkownika. Pętla gry składa się zazwyczaj z trzech głównych elementów: aktualizacji stanu gry, renderowania grafiki gry i obsługi danych wprowadzanych przez użytkownika. Oto uproszczony przykład:

game_running = True
while game_running:
    # Update game state
    # Render game graphics
    # Handle user input

W tym przykładzie pętla trwa tak długo, jak zmienna `game_running` ma wartość True. Wewnątrz pętli aktualizowałbyś stan gry, renderował grafikę gry i zajmował się wprowadzaniem danych przez użytkownika. Proces ten powtarza się, aż gra się zakończy lub gracz zdecyduje się wyjść.

Przeczytaj także: Kompletny samouczek dotyczący języka Python umożliwiający naukę danych od podstaw

Zagnieżdżone podczas pętli i zagnieżdżanie pętli

Python pozwala na zagnieżdżanie pętli while, co oznacza, że ​​pętlę while można umieścić w innej pętli while. Jest to przydatne, gdy trzeba wykonać powtarzalne zadania w ramach powtarzalnych zadań. Oto przykład:

outer_num = 1
while outer_num <= 3:
    inner_num = 1
    while inner_num <= 3:
        print(outer_num, inner_num)
        inner_num += 1
    outer_num += 1

Wydajność

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

W tym przykładzie mamy zewnętrzną pętlę while, która wykonuje iterację od 1 do 3, oraz wewnętrzną pętlę while, która wykonuje iterację od 1 do 3 dla każdej iteracji pętli zewnętrznej. Instrukcja print wewnątrz pętli wewnętrznej wyświetla wartości obu zmiennych pętli.

Wskazówki i najlepsze praktyki dotyczące używania pętli while

Chociaż pętle są potężnymi konstrukcjami, mogą być również podatne na błędy, jeśli nie zostaną poprawnie użyte. Oto kilka wskazówek i najlepszych praktyk, o których należy pamiętać podczas korzystania z pętli while:

Prawidłowa inicjalizacja zmiennych

Przed wejściem do pętli while zainicjuj wszystkie zmienne pętli do ich wartości początkowych. Zapewnia to prawidłową ocenę warunku pętli i zapobiega nieoczekiwanym zachowaniom. Na przykład:

count = 0
while count < 10:
    print(count)
    count += 1

W tym przykładzie inicjujemy zmienną „count” na 0 przed wejściem do pętli.

Zapewnienie zakończenia pętli

Aby uniknąć nieskończonych pętli, zawsze upewnij się, że warunek pętli ostatecznie stanie się fałszywy. Można to osiągnąć aktualizując zmienne pętli lub używając instrukcji sterujących pętlą, takich jak „break”. Na przykład:

num = 1
while num <= 10:
    if num == 6:
        break
    print(num)
    num += 1

W tym przykładzie pętla kończy się, gdy `num` staje się 6 z powodu instrukcji `break`.

Unikanie nieskończonych pętli

Zachowaj ostrożność podczas używania pętli while, aby uniknąć tworzenia nieskończonych pętli, które nigdy się nie kończą. Nieskończone pętle mogą prowadzić do awarii programu i zużywać nadmierne zasoby systemowe. Zawsze dokładnie sprawdzaj warunki pętli i upewnij się, że w pewnym momencie mogą stać się fałszywe.

Pisanie czytelnego i łatwego w utrzymaniu kodu

Pętle mogą stać się złożone i trudne do zrozumienia, jeśli nie zostaną poprawnie napisane. Używaj znaczących nazw zmiennych, dodawaj komentarze wyjaśniające cel pętli i dziel złożone zadania na mniejsze podzadania. Dzięki temu Twój kod będzie bardziej czytelny i łatwiejszy w utrzymaniu.

Zaawansowane techniki i triki

Natomiast pętle można wykorzystywać w zaawansowany sposób do osiągnięcia określonych zadań. Oto kilka zaawansowanych technik i trików:

Pętla z instrukcjami Else

W Pythonie możesz użyć instrukcji else z pętlą while, aby wykonać blok kodu, gdy warunek pętli stanie się fałszywy. Drugi blok jest wykonywany tylko wtedy, gdy pętla zakończy się normalnie, bez żadnych instrukcji break. Oto przykład:

num = 1
while num <= 5:
    print(num)
    num += 1
else:
    print("Loop completed")

Wydajność

1

2

3

4

5

Pętla zakończona

W tym przykładzie blok else jest wykonywany po normalnym zakończeniu pętli.

Używanie pętli while z listami i ciągami znaków

Pętli można używać do iteracji po listach i ciągach znaków przy użyciu zmiennej indeksującej. Oto przykład:

fruits = ["apple", "banana", "cherry"]
index = 0
while index < len(fruits):
    print(fruits[index])
    index += 1

Wydajność

jabłko

banan

wiśnia

W tym przykładzie pętla while wykonuje iterację po elementach listy „owoce” przy użyciu zmiennej indeksującej.

Przeczytaj także: Wszystko, co powinieneś wiedzieć o wbudowanych strukturach danych w Pythonie – przewodnik dla początkujących!

Porównanie z innymi konstrukcjami pętli w Pythonie

Pętle while to tylko jedna z kilku konstrukcji pętli dostępnych w Pythonie. Porównajmy pętle while z pętlami for i rekurencją:

Pętle while vs. pętle For

Chociaż do iteracji używane są zarówno pętle, jak i pętle, mają one różne przypadki użycia. Pętle są bardziej elastyczne i radzą sobie ze złożonymi warunkami, natomiast pętle for lepiej nadają się do iteracji po sekwencji wartości. Pętle są przydatne, gdy nie znasz z góry dokładnej liczby iteracji lub musisz wykonać złożone obliczenia. Pętle są przydatne, gdy chcesz iterować po sekwencji wartości, takiej jak lista lub ciąg znaków.

Podczas gdy pętle a rekurencja

Rekurencja to technika, w której funkcja wywołuje samą siebie, aby rozwiązać problem. Można jej używać do wykonywania powtarzalnych zadań podobnych do pętli while, ale ma pewne różnice. Natomiast pętle są bardziej odpowiednie do zadań iteracyjnych, w których masz jasny warunek zakończenia i musisz wykonać ustaloną liczbę iteracji. Rekurencja jest bardziej odpowiednia do rozwiązywania problemów podzielonych na mniejsze podproblemy, takie jak algorytmy wyszukiwania, sortowania i przechodzenia przez drzewo.

Wnioski

W tym artykule zbadaliśmy koncepcję pętli while w Pythonie. Dowiedzieliśmy się o ich składni, podstawowym zastosowaniu i różnych zastosowaniach. Omówiliśmy także wskazówki, najlepsze praktyki, typowe błędy i zaawansowane techniki korzystania z pętli while. Na koniec porównaliśmy pętle while z innymi konstrukcjami pętli w Pythonie. Dzięki tej wiedzy możesz teraz efektywnie wykorzystywać pętle while do automatyzacji powtarzalnych zadań i iterowania po sekwencjach wartości w programach w języku Python.

Odblokuj moc doskonałości AI i ML! Zarejestruj się już teraz w naszym Certyfikowany program AI i ML BlackBelt Plus i podnieś swoje umiejętności na nowy poziom. Nie przegap okazji do opanowania najnowszych technologii – zmień swoją karierę już dziś!

Ponadto, jeśli szukasz kursu języka Python online, zapoznaj się z naszymi – Wprowadzenie do programu w Pythonie dzisiaj!

Znak czasu:

Więcej z Analityka Widhja