Pyton Podczas gdy Pętla służy do wielokrotnego wykonywania bloku instrukcji, aż do spełnienia określonego warunku. Gdy warunek stanie się fałszywy, wykonywana jest linia bezpośrednio po pętli w programie.
Składnia pętli while w Pythonie
while expression: statement(s)>
Schemat blokowy pętli while w Pythonie
Chociaż pętla należy do kategorii nieokreślona iteracja . Nieokreślona iteracja oznacza, że liczba wykonań pętli nie jest z góry wyraźnie określona.
Instrukcje reprezentują wszystkie instrukcje z wcięciem o tę samą liczbę spacji po tym, jak konstrukcja programistyczna jest uważana za część pojedynczego bloku kodu. Python używa wcięć jako metody grupowania instrukcji. Kiedy wykonywana jest pętla while, wyrażenie jest najpierw oceniane w kontekście logicznym i jeśli jest prawdziwe, wykonywane jest ciało pętli. Następnie ponownie sprawdzane jest wyrażenie, jeśli nadal jest prawdziwe, wówczas ciało jest wykonywane ponownie i trwa to do momentu, aż wyrażenie stanie się fałszywe.
Różnica pomiędzy Python dla pętli i pętla while w Pythonie
Główna różnica między Pythonem For Loop a Python While Loop polega na tym, że pętla Python for jest zwykle używana, gdy liczba iteracji wynosi znany , podczas gdy pętla Python while jest używana, gdy liczba iteracji wynosi nieznany
Pętla while w Pythonie
W tym przykładzie warunek while będzie prawdziwy, jeśli zmienna licznika (liczba) będzie mniejsza niż 3.
Pyton
# Python program to illustrate> # while loop> count>=> 0> while> (count <>3>):> >count>=> count>+> 1> >print>(>'Hello Geek'>)> |
>
>
q1 q2 q3 q4Wyjście
Hello Geek Hello Geek Hello Geek>
Nieskończona pętla while w Pythonie
Tutaj wartość warunku jest zawsze równa True. Dlatego ciało pętli jest uruchamiane nieskończoną liczbę razy, aż do zapełnienia pamięci.
Pyton
age>=> 28> > # the test condition is always True> while> age>>19>:> >print>(>'Infinite Loop'>)> |
>
>
Instrukcje sterujące w Pythonie z przykładami
Instrukcje sterujące pętli zmieniają wykonanie w stosunku do normalnej sekwencji. Kiedy wykonanie opuści zakres, wszystkie automatyczne obiekty utworzone w tym zakresie zostaną zniszczone. Python obsługuje następujące instrukcje sterujące.
Pętla while w Pythonie z instrukcjącontinue
Pyton Kontynuuj oświadczenie zwraca sterowanie na początek pętli.
Pyton
# Prints all letters except 'e' and 's'> i>=> 0> a>=> 'geeksforgeeks'> > while> i <>len>(a):> >if> a[i]>=>=> 'e'> or> a[i]>=>=> 's'>:> >i>+>=> 1> >continue> > >print>(>'Current Letter :'>, a[i])> >i>+>=> 1> |
>
>Wyjście
Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k>
Pętla while w Pythonie z instrukcją break
Pyton Oświadczenie o przerwaniu wyprowadza kontrolę z pętli.
Pyton
# break the loop as soon it sees 'e'> # or 's'> i>=> 0> a>=> 'geeksforgeeks'> > while> i <>len>(a):> >if> a[i]>=>=> 'e'> or> a[i]>=>=> 's'>:> >i>+>=> 1> >break> > >print>(>'Current Letter :'>, a[i])> >i>+>=> 1> |
>
>Wyjście
Current Letter : g>
Pętla while w Pythonie z instrukcją pass
Instrukcja pass języka Python służąca do zapisywania pustych pętli. Pass jest również używany do pustych instrukcji sterujących, funkcji i klas.
Pyton
# An empty loop> a>=> 'geeksforgeeks'> i>=> 0> > while> i <>len>(a):> >i>+>=> 1> >pass> > print>(>'Value of i :'>, i)> |
>
>Wyjście
Value of i : 13>
Podczas pętli z else
Jak omówiono powyżej, pętla while wykonuje blok do momentu spełnienia warunku. Gdy warunek stanie się fałszywy, wykonywana jest instrukcja bezpośrednio po pętli. Klauzula else jest wykonywana tylko wtedy, gdy warunek while stanie się fałszywy. Jeśli wyjdziesz z pętli lub zostanie zgłoszony wyjątek, nie zostanie on wykonany.
Notatka: Blok else tuż po for/while jest wykonywany tylko wtedy, gdy pętla NIE jest zakończona instrukcją break.
Pyton
# Python program to demonstrate> # while-else loop> > i>=> 0> while> i <>4>:> >i>+>=> 1> >print>(i)> else>:># Executed because no break in for> >print>(>'No Break
'>)> > i>=> 0> while> i <>4>:> >i>+>=> 1> >print>(i)> >break> else>:># Not executed as there is a break> >print>(>'No Break'>)> |
>
>Wyjście
1 2 3 4 No Break 1>
Oświadczenie kontrolowane przez Sentinel
Nie używamy w tym przypadku żadnej zmiennej licznikowej, ponieważ nie wiemy, ile razy pętla zostanie wykonana. Tutaj użytkownik decyduje, ile razy chce wykonać pętlę. W tym celu używamy wartości wskaźnikowej. Wartość wskaźnikowa to wartość używana do zakończenia pętli za każdym razem, gdy użytkownik do niej wejdzie. Zwykle wartość wskaźnikowa wynosi -1.
Pętla while w Pythonie z danymi użytkownika
Tutaj najpierw prosi użytkownika o wprowadzenie numeru. jeśli użytkownik wprowadzi -1, pętla nie zostanie wykonana, tj.
- Użytkownik wprowadza 6, ciało pętli jest wykonywane i ponownie prosi o wprowadzenie danych
- Tutaj użytkownik może wprowadzać dane wiele razy, aż wprowadzi -1, aby zatrzymać pętlę
- Użytkownik może zdecydować, ile razy chce wprowadzać dane
Pyton
a>=> int>(>input>(>'Enter a number (-1 to quit): '>))> > while> a !>=> ->1>:> >a>=> int>(>input>(>'Enter a number (-1 to quit): '>))> |
>
>
Wyjście:

Obraz ekranu wyjściowego
Pętla while z wartościami logicznymi
Jednym z powszechnych zastosowań wartości logicznych w pętlach while jest utworzenie nieskończonej pętli, z której można wyjść tylko w oparciu o pewien warunek w pętli.
licznik mysqla
Przykład :
W tym przykładzie inicjujemy licznik, a następnie używamy nieskończonej pętli while (True jest zawsze prawdą), aby zwiększyć licznik i wydrukować jego wartość. Sprawdzamy, czy licznik osiągnął określoną wartość i jeśli tak, wychodzimy z pętli za pomocą instrukcji break.
Pyton
# Initialize a counter> count>=> 0> > # Loop infinitely> while> True>:> ># Increment the counter> >count>+>=> 1> >print>(f>'Count is {count}'>)> > ># Check if the counter has reached a certain value> >if> count>=>=> 10>:> ># If so, exit the loop> >break> > # This will be executed after the loop exits> print>(>'The loop has ended.'>)> |
>
>Wyjście
Count is 1 Count is 2 Count is 3 Count is 4 Count is 5 Count is 6 Count is 7 Count is 8 Count is 9 Count is 10 The loop has ended.>
Pętla while w Pythonie z listą Pythona
W tym przykładzie wykonaliśmy pętlę while na liście, która będzie wykonywana do momentu pojawienia się na liście elementu.
Pyton
# checks if list still> # contains any element> a>=> [>1>,>2>,>3>,>4>]> > while> a:> >print>(a.pop())> |
>
>Wyjście
4 3 2 1>
Pojedyncza instrukcja podczas bloku
Podobnie jak w przypadku bloku if, jeśli blok while składa się z pojedynczej instrukcji, możemy zadeklarować całą pętlę w jednej linii. Jeśli w bloku tworzącym treść pętli znajduje się wiele instrukcji, można je oddzielić średnikami (;).
Pyton
# Python program to illustrate> # Single statement while block> count>=> 0> while> (count <>5>):> >count>+>=> 1> >print>(>'Hello Geek'>)> |
>
>Wyjście
Hello Geek Hello Geek Hello Geek Hello Geek Hello Geek>
Pytania do ćwiczeń w Pythonie podczas pętli
Poniżej znajdują się dwa pytania ćwiczeniowe dotyczące pętli while w Pythonie. Omówiliśmy 2 ważne pytania dotyczące ćwiczeń w oparciu o program odbijania piłki i program odliczania.
Pytanie 1. Pytanie dotyczące ćwiczenia w pętli oparte na problemie z odbijaniem się piłki
Pyton
initial_height>=> 10> bounce_factor>=> 0.5> height>=> initial_height> while> height>>0.1>:> >print>(>'The ball is at a height of'>, height,>'meters.'>)> >height>*>=> bounce_factor> print>(>'The ball has stopped bouncing.'>)> |
>
>
Wyjście
The ball is at a height of 10 meters. The ball is at a height of 5.0 meters. The ball is at a height of 2.5 meters. The ball is at a height of 1.25 meters. The ball is at a height of 0.625 meters. The ball is at a height of 0.3125 meters. The ball is at a height of 0.15625 meters. The ball has stopped bouncing.>
Pytanie 2. Prosty kod ćwiczeń w pętli while do zbudowania zegara odliczającego
Pyton
countdown>=> 10> while> countdown>>0>:> >print>(countdown)> >countdown>->=> 1> print>(>'Blast off!'>)> |
>
>
Wyjście
10 9 8 7 6 5 4 3 2 1 Blast off!>