logo

Pętla while w Pythonie

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

Pętla 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 q4
Wyjś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!>