W języku programowania Python (także „Python”lub „Python”) istnieje kilka sposobów zapętlenia akcji. Głównymi narzędziami do implementacji wszelkiego rodzaju iteracji w Pythonie są pętle while i for. Pętla while jest bardziej wszechstronna niż pętla for, więc jest wolniejsza. Nie oznacza to jednak, że jest lepszy! Znacznie częściej wykorzystywana jest pętla for, która służy do realizacji najbardziej złożonych zadań tworzenia programów wielopoziomowych i wielostanowiskowych.
Python: pętla z warunkiem końcowym
Pętle postconditioned to pętle whilesą najbardziej wszechstronnymi konstrukcjami organizacyjnymi w tym środowisku programistycznym. Pętla while działa na zasadzie „tak długo, jak”. Oznacza to, co następuje: tak długo, jak jakiś warunek zwróci prawdę, będzie działać! Ta konstrukcja nazywana jest „pętlą”, ponieważ sterowanie funkcjonalne jest powtarzane cyklicznie, począwszy od wartości początkowej. Pętla while w Pythonie zakończy działanie w momencie, gdy wartość stanie się fałszywa. W tym momencie interpreter przenosi wykonanie programu do następnego segmentu funkcjonalno-semantycznego, czyli nowej linii, która znajduje się za blokiem z warunkiem końcowym while.
W języku programowania Python pętle z warunkiem końcowym while mają następującą składnię:
1. Podczas gdy (stan): 2. ekspresja |
Wyrażenie może być jedną instrukcją lubtrochę. Warunek jest zawsze wartością prawdziwą lub niezerową. Ta konstrukcja działa tak długo, jak długo określony warunek jest spełniony.
Przykład użycia pętli while w Pythonie
Rozważ pętlę while. Python dość ciekawie konstruuje swoje iteracje:
a = 0 |
Zadeklarowaliśmy zmienną „a” i ustawiliśmy ją na zerowartość. Następnie ustawiamy warunek „while a <7”, czyli tak długo, jak zmienna „a” jest mniejsza niż liczba „7”, wtedy nasza pętla będzie wykonywana, dopóki nie stanie się fałszywa.
I stanie się fałszem (to znaczy opuści pętlę), gdy zmienna stanie się większa niż liczba „7”. Aby tak się stało, za każdym razem zwiększa się o 1, co wskazujemy w wierszu „a = a + 1”.
Jeśli uruchomisz ten projekt, litera „A” zostanie wyświetlona 7 razy w kolumnie!
A |
Niekończąca się pętla while w Pythonie
Jak zrobić nieskończoną pętlę while w Pythonie?W ogóle nietrudno zgadnąć, ponieważ pętla działa, dopóki nie otrzyma fałszywej wartości, ale co, jeśli ta wartość po prostu nie istnieje? Odpowiedź na to pytanie jest już prawdopodobnie jasna dla wszystkich. W jakich przypadkach nieskończona pętla jest niezbędna do rozwiązania problemu? Ten przykład to implementacja takiego programu jak „zegar”. Tutaj niewątpliwie będziesz musiał skorzystać z niekończącego się cyklu, który na stałe zaktualizuje i pokaże czas.
Nieskończona pętla jest bardzo często błędem początkujących programistów, którzy zapominają o dodaniu zmian do warunków pętli.
Rzućmy okiem na następujący fragment kodu Pythona. W tym przypadku pętle są iterowane w nieskończoność (po symbolu „#” znajduje się komentarz):
liczba = 1 # zadeklaruj numer zmiennej i przypisz jej wartość 1 podczas gdy liczba <10: # stwórz warunek końcowy, w którym liczba jest mniejsza niż 10 print "Hello" # spełnić warunek (wypisać komunikat "Hello") |
Nie spiesz się z kompilacją takiego programu,ponieważ będzie działać w nieskończoność. Ustawiliśmy takie warunki, w których nigdy nie będzie wartości fałszywej: warunek „liczba <10” w tym przypadku jest niezmienny i prawdziwy, więc iteracja będzie wykonywana w sposób ciągły, wyświetlając N-tą liczbę wiadomości „Hello” . Aby zatrzymać wieczny proces kompilacji, będziesz musiał nacisnąć kombinację klawiszy Ctrl + C w powłoce.
Python: składnia. Podczas i na pętle
Jak wspomniano powyżej, w językuProgramowanie w Pythonie Istnieje kilka sposobów organizowania powtarzania grupy wyrażeń. Z pomocą przychodzi pętla for, która nieco różni się od jej odpowiednika while, ponieważ jej konstrukcja jest nieco bardziej złożona niż tylko warunek końcowy. Nie będziemy rozmawiać o uniwersalności tego cyklu, bo go po prostu nie ma, ale można zauważyć, że pętla for działa znacznie szybciej niż while. Wiele sposobów rozwiązania i wykonanie tej konstrukcji nieco przewyższają pętlę z warunkiem końcowym, więc jest ona znacznie częściej używana do wykonywania wielu błahych zadań.
Jakie są wyzwania dla pętli for?Niewątpliwie to samo, co while - iteruj po niektórych procesach. W programach wykonywanych w "Pythonie" szeroko stosowana jest pętla for, która jest w stanie zaimplementować przechodzenie przez zadany zestaw elementów i wykonywać po nich różne iteracje w swoim ciele. Możliwości tej konstrukcji można zastosować do łańcuchów lub list w taki sam sposób, jak w przypadku każdej innej iterowalnej.
Przykład użycia pętli for w Pythonie
Powiedzmy, że mamy listę liczb i musimy zwiększyć każdy element (tj. Liczbę) o trzy jednostki. Możemy zaimplementować takie zadanie w pętli, używając metod pętli for.
Spójrzmy na mały przykład, w którym wykonamy w tym celu odpowiednie akcje (po symbolu „#” znajduje się komentarz):
spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # zadeklarował tablicę zawierającą 10 cyfr count = 0 # utworzył licznik o zerowej wartości dla elementów w spisok_chisel: # iteruj po tablicy i zapisz ją do elementów spisok_chisel [liczba] = elementy + 3 # zwiększ liczbę z tablicy o trzy count = count + 1 # przejdź do następnej liczby według indeksu |
Rezultat wykonania powyższej konstrukcji będzie wyglądał następująco:
spisok_chisel = [8, 18, 28, 38, 48, 58, 68, 78, 88, 98] |
Nasz przykład ma zmienną count, któramusimy zaznaczyć zmieniające się wartości w tablicy „spisok_chisel”. Zmienna count przechowuje wartości indeksu każdego elementu w tablicy (każdej liczby na liście). Zmienna „elementy” wiąże wynikowe wartości na liście. W pętli for obserwujemy, jak obsługiwany jest każdy obiekt numeryczny na liście. Wewnątrz pętli do każdego obiektu numerycznego z indeksem „count” dodawana jest suma bieżącego iterowanego elementu i trójki. Następnie nasz indeks „count” jest zwiększany o jeden, a przepływ programu powraca do początku deklaracji struktury for. W ten sposób pętla będzie działać, dopóki nie przetworzy każdego elementu tablicy, określonego przez warunek. Jeśli brakuje jakiegokolwiek elementu, ale jest on określony przez warunek, proces pętli zostanie zakończony. Zwróćmy uwagę na jeszcze jeden niuans: jeśli nie napiszesz linii „licznik = liczba + 1”, to pomimo tego, że obiekty tablicy są pomyślnie przetworzone, wynik będzie stale dodawany do pierwszego obiektu numerycznego z zerem indeks.
Teraz możemy przypomnieć sobie zasady pracywhile i ujawnij różnicę (pamiętaj, że w Pythonie wyjście z pętli z warunkiem końcowym jest oparte na kryteriach logicznych - prawda (pętla nadal działa) lub fałsz (pętla zatrzymuje się)).
Jak obsłużyć wartość ciągu w Pythonie przy użyciu konstrukcji for?
W każdym języku programowania istnieją pętle,i działają z reguły na tej samej zasadzie, różnice są widoczne tylko w składni. Jednak pętla for w Pythonie nie jest zwyczajna i trywialna, ponieważ jej zasada działania nie ogranicza się do licznika. Ta konstrukcja iteruje po każdym elemencie z osobna. Wszystko to można łatwo wyjaśnić na przykładzie pracy ze stringami, ale najpierw przyjrzyjmy się składowi pętli for:
dla zmiennej
zmienna przechowuje wynik cyklu
w zmiennej_2
słowo kluczowe „w” jest warunkiem wstępnympodczas pracy z pętlą „for”. Ze zmiennej_2 wyodrębniamy wartość, którą będziemy iterować. Dla jasności i przejrzystości, spójrzmy na mały przykład pracy i iteracji po łańcuchach w Pythonie:
char = „programowanie” # Zadeklaruj zmienną i przypisz do niej ciąg znaków for slovo in char: # Utwórz zmienną slovo, która będzie przechowywać indeksy iteracji ze zmiennej char print (slovo, end = ‘^’) # Wydrukuj slovo i wstaw symbol ptaka po każdej literze. |
Wynik skryptu:
N ^ p ^ o ^ r ^ p ^ a ^ m ^ m ^ u ^ p ^ o ^ b ^ a ^ n ^ u ^ e |
Kontynuuj oświadczenie
Operator continue implementuje przejście do wykonania następnej pętli określonej przez warunek, niezależnie od pozostałej części treści pętli. Możesz użyć instrukcji continue w dwóch pętlach - for i while.
Rozważmy przykład:
liczyć w „powtórz każdą literę oprócz o” if count == „o”: kontyntynuj print (count * 2, end = '') |
Wynik będzie następujący:
Ppvvttrriimm kkaazhduyuyu bbuukkvuu ,, kkrrmmee |
Gdy przewodnik znalazł literę „o” w napisie„Powtórzmy każdą literę, z wyjątkiem”, wykonanie programu zostało natychmiast przekierowane do wiersza po słowie „kontynuuj”, gdzie według warunku powielono każdą literę.
Instrukcja Break
Słowo kluczowe „break” jest wstawiane w dowolnym miejscugdzie pętla powinna zostać przerwana bez czekania na jej zakończenie, które zostało określone przez warunek. Ta konstrukcja jest bardzo często używana podczas pisania programów z dużą ilością logiki i warunków.
Rozważmy mały przykład, jak działa instrukcja break:
liczyć w „powtórz każdą literę oprócz o” if count == „o”: przerwa print (count * 2, end = '') |
Wynik będzie następujący:
nn |
Gdy program obsługi znalazł literę „o” w wierszu „powtórz każdą literę z wyjątkiem o”, wykonywanie programu zostało natychmiast zatrzymane, pomimo faktu, że następna linia zawiera pewne warunki dla pętli.
Magiczne słowo jeszcze
Możesz użyć operatora else w dowolnej pętliPo co to jest? Sprawdza, czy pętla została zakończona za pomocą metod break lub w zwykły sposób. Blok z określonymi regułami wewnątrz else rozpocznie implementację tylko wtedy, gdy pętla została zakończona bez użycia konstrukcji break.
Spójrzmy na mały przykład:
dla count in „hello world”: if count == „i”: przerwa jeszcze: print („Nie masz litery„ I ”w swoim zdaniu”) |
Wynik wykonania skryptu:
W twoim zdaniu nie ma litery „ja” |
Przykłady odwrotnej pętli w języku programowania Python
Jak zaimplementowano pętlę odwrotną w Pythonie? Wyobraźmy sobie, że piszemy program, który rozpoznaje ciąg znaków i drukuje go w odwrotnej kolejności. Jak to zaimplementować?
Rozważ poniższy przykład:
slovo = 'programowanie' new_slovo = [] dla count in range (len (s), 0, -1): new_slovo.append (s [i-1]) new_slovlo [„p”, „p”, „o”, „g”, „p”, „a”, „m”, „m”, „and”, „p”, „o”, „in”, „ a ',' n ',' and ',' e '] print (new_slovo) [„p”, „p”, „o”, „g”, „p”, „a”, „m”, „m”, „and”, „p”, „o”, „in”, „ a ',' n ',' and ',' e '] print („”. join (new_slovo)) |
Wynik skryptu:
einavorimmargorp |
Pętle zagnieżdżone
W języku programowania Python istnieją pętlerównież zagnieżdżone, to znaczy umieszczone w ciele innego. Każdy cykl może mieć swój własny zagnieżdżony cykl, więc możesz zbudować drabinę do nieskończoności. W pierwszej iteracji zewnętrzna pętla wywołuje pętlę wewnętrzną, która jest wykonywana aż do jej własnego zakończenia, a następnie cała kontrola jest przekierowywana do treści pętli zewnętrznej. Każdy język ma swoje osobliwości zagnieżdżonych pętli, zobaczmy, jak są ułożone w języku programowania Python.
Jeśli używane są zagnieżdżone pętle, Python oferuje następującą składnię:
dla zmiennej w zmiennej sekwencyjnej: dla zmiennej w zmiennej sekwencyjnej akcja (akcje) akcja (akcje) |
Specyfika zagnieżdżonych pętli polega na tym, żeże wewnątrz pętli dowolnego typu można również użyć dowolnego typu pętli! Oznacza to, że pętla for lub ponownie while i odwrotnie może być zagnieżdżona w pętli while (lub for).