Pętla while
Część sekcji Podstawy ścieżki Python w Coddy. Lekcja 36 z 77.
Pętla while różni się od pętli for. Pętla for pozwala nam iterować po określonym range, podczas gdy pętla while pozwala nam kontynuować iterowanie, dopóki spełniony jest określony warunek.
Aby użyć pętli while, napisz:
while condition:
codeKod wykona się tylko wtedy, gdy warunek jest True.
Warunek jest zazwyczaj tworzony za pomocą operatorów porównania, takich jak <= (mniejsze niż lub równe), >= (większe niż lub równe), < (mniejsze niż), > (większe niż) lub == (równe). Pętla działa tak długo, jak porównanie daje wynik True, i zatrzymuje się, gdy tylko wynik zmieni się na False.
W treści pętli zazwyczaj trzeba aktualizować sprawdzaną zmienną. Robi się to za pomocą operatorów przypisania ze skrótem, takich jak += (dodaj i przypisz), -= (odejmij i przypisz), *= (pomnóż i przypisz) lub /= (podziel i przypisz). Na przykład x *= 2 to skrócony zapis x = x * 2. Bez aktualizowania zmiennej warunek nigdy by się nie zmienił, a pętla działałaby bez końca.
Istnieje wiele przypadków, w których while rozwiązałoby problem, ale pętla for nie.
Rozważmy na przykład następujący problem:
Znajdź najmniejszą potęgę liczby 2 większą od podanej liczby.
Aby to rozwiązać, użyjemy pętli while, która będzie wielokrotnie mnożyć aktualną potęgę liczby 2 przez 2, aż stanie się większa od podanej liczby:
number = 27
power_of_two = 1
while power_of_two <= number:
power_of_two *= 2
print(power_of_two)Tutaj power_of_two <= number jest warunkiem wykorzystującym operator porównania, a power_of_two *= 2 aktualizuje zmienną w każdej iteracji za pomocą operatora przypisania z operacją. Gdy power_of_two przekroczy number, warunek staje się False i pętla się zatrzymuje.
Wyzwanie
PoczątkującyNapisz program, który pobiera jedną wartość wejściową — liczbę typu float.
Użyj pętli while, aby dzielić wartość wejściową przez 2, dopóki liczba jest większa lub równa 3.5.
Wypisz pierwszą liczbę mniejszą niż 3.5.
Spróbuj swoich sił
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka – podstawy logikiOperatory logiczne, część 3Operatory logiczne, część 47Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych10FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz13Listy — zagadnienia zaawansowane
Wycinanie list — część 1Wycinanie list — część 2Operatory sekwencjiPrzynależność2Zmienne
LiczbyCiąg znakówWartość logicznaKonwencje nazewnictwaPuste zmiennePodsumowanie — inicjalizacja zmiennych8Pętle
Pętla forPętla whilePrzerwijKontynuujPowtórka – silniaFunkcja rangePętla zagnieżdżonaPowtórka – dane wejściowe dynamiczne3Operatory, część 1
Operatory arytmetyczneOperator moduloSkróty arytmetycznePowtórka — prosta matematykaOperatory porównania6Podstawowe wejście i wyjście
WyjścieWyjście ze zmiennymiWejścieKonwersja typówPowtórka — do 120Powtórka — prawda czy fałsz9Funkcje
Deklarowanie funkcjiArgumentyWartość zwracanaPowtórka — funkcja SigmaPowtórka — funkcja walidującaWartości domyślnePoćwicz samodzielnie: Kompilator Python online