Zmienna wewnętrzna

Pseudokod pętli for wygląda następująco:

Linia 1. for otwórz nawias okrągły zmienna wewnętrzna zamknij nawias okrągły in otwórz nawias okrągły zbiór zamknij nawias okrągły dwukropek. Linia 2. instrukcja.

Zmienna wewnętrzna to nazwa zmiennej, która będzie przechowywała aktualnie analizowany element ze zbioru, który przechodzimy (iterujemy). Jeśli zbiorem jest lista uczniów, to do zmiennej wewnętrznej przy każdej iteracji będzie przypisywany kolejny uczeń.

Zbiorem może być tablicatablicatablica, ciąg znaków lub zakres stworzony za pomocą funkcjifunkcjafunkcji range().

Ważne!

Funkcja range() tworzy sekwencję liczb w podanym zakresie. Domyślnie pierwszą liczbą jest 0, a kolejne są domyślnie zwiększane o 1.

range(start, stop, krok)

Na przykład, range(6) zwróci zbiór liczb 0, 1, 2, 3, 4, 5. Funkcja range(2, 6) zwróci liczby 2, 3, 4, 5, a range(2, 9, 2) zwróci 2, 4, 6, 8.

Pętla operująca na danym zbiorze (na przykład imion) przedstawia się tak:

Linia 1. uczniowie znak równości otwórz nawias kwadratowy cudzysłów Maciek cudzysłów przecinek cudzysłów Magda cudzysłów przecinek cudzysłów Asia cudzysłów zamknij nawias kwadratowy. Linia 3. for imie in uczniowie dwukropek. Linia 4. print otwórz nawias okrągły imie zamknij nawias okrągły.

Tak zapisana pętla wykona instrukcje wewnątrz niej trzy razy, ponieważ tyle jest elementów w tablicy. Każde takie przejście nazywane jest iteracją. Zatem można powiedzieć, że w pierwszej iteracji wypiszemy imię Maciek, w kolejnej Magda a w ostatniej Asia.

Przykłady wykorzystania pętli for

Wyliczanka

Napiszmy prosty program drukujący 10 razy ten sam napis.

Linia 1. for x in range otwórz nawias okrągły 10 zamknij nawias okrągły dwukropek. Linia 2. print otwórz nawias okrągły cudzysłów Witaj przecinek swiecie wykrzyknik cudzysłów zamknij nawias okrągły.

Zwróćmy uwagę na funkcję range(), która jest bardzo często wykorzystywana w pętlach. W powyższym kodzie została wykorzystana skrócona składnia funkcji z jednym argumentem, jakim jest liczba elementów w zbiorze. Zmodyfikujmy powyższy kod, aby przed tekstem: Witaj, swiecie!, drukował po kolei numery z zakresu range():

Linia 1. for x in range otwórz nawias okrągły 10 zamknij nawias okrągły dwukropek. Linia 2. print otwórz nawias okrągły str otwórz nawias okrągły x zamknij nawias okrągły plus cudzysłów kropka Witaj przecinek swiecie wykrzyknik cudzysłów zamknij nawias okrągły.

Wynikiem będzie dziesięciokrotne wypisanie (numer). Witaj swiecie!, ale numerowane od 0 do 9. W programowaniu przyjęło się, że wyliczanie elementów rozpoczyna się od 0, a nie – jak przywykliśmy – od 1.

Jeśli jednak chcemy numerować od 1 do 10, należy zmienić parametry funkcji range(), aby rozpoczynała zakres od 1 i kończyła na 11.

Linia 1. for x in range otwórz nawias okrągły 1 przecinek 11 zamknij nawias okrągły dwukropek. Linia 2. print otwórz nawias okrągły str otwórz nawias okrągły x zamknij nawias okrągły plus cudzysłów kropka Witaj przecinek swiecie wykrzyknik cudzysłów zamknij nawias okrągły.
Ważne!

Do drukowania wyniku wykorzystaliśmy funkcję str(), która zamienia typ integer na typ string. Gdybyśmy chcieli bezpośrednio połączyć liczbę całkowitą z ciągiem znaków, interpreter zwróciłby błąd.

Suma liczb

Napiszmy program liczący sumę liczb z podanego zakresu. W tym celu zdefiniujemy zakres od 1 do 10, a także zmienną suma.

Linia 1. suma znak równości 0. Linia 3. for x in range otwórz nawias okrągły 1 przecinek 11 zamknij nawias okrągły dwukropek. Linia 4. suma znak równości suma plus x. Linia 6. print otwórz nawias okrągły suma zamknij nawias okrągły.

W trakcie każdej iteracji kolejna liczba jest dodawana do sumy. Po zakończeniu pętli, drukujemy wynik.

Słownik

tablica
tablica

zbiór elementów, w którym można przechowywać dane; w języku Python tablice są często nazywane listami

funkcja
funkcja

wydzielona część programu, która przetwarza dane i ewentualnie zwraca na ich podstawie pewną wartość; przykładową funkcją w języku Python jest print()