Pętla for i range()

Preview Mode

You're viewing this material in preview mode. Sign up to track your progress and access all features.

Pętla for i range()
Required In Progress

Python • kurs podstawowy • lekcja 12

Pętla for i range()

Chcesz ponumerować rundy bez ręcznego zwiększania licznika.

Twój cel: Użyjesz for do przejścia po elementach i dobierzesz granice range().

Warunki oraz model pętli while.

Od potrzeby do kodu

for pobiera kolejny element z obiektu, po którym można przechodzić, np. napisu lub range. Takie przechodzenie nazywamy iteracją. Nie musisz sam zmieniać zmiennej sterującej, jak przy while.

range(stop) opisuje liczby od 0 przed stop. range(start, stop) zaczyna od start, a range(start, stop, step) pozwala podać krok. Granica stop nigdy nie jest elementem zakresu. Krok może być ujemny przy odliczaniu, ale nie może wynosić zero.

Pętla for nie wymaga, aby uczeń znał liczbę elementów z góry. Jej zadaniem jest przejść po kolejnych elementach. W napisie elementem będzie znak. Pusty zakres oznacza zero iteracji. Zmiana number wewnątrz ciała nie zmienia następnej wartości pobranej z range.

Przewidź przed uruchomieniem

for number in range(2, 7, 2):
    print(number)
for letter in "OK":
    print(letter)
Porównaj wynik i prześledź mechanizm
for pobiera elementy. range określa początek, wyłączoną granicę i krok.
for pobiera elementy. range określa początek, wyłączoną granicę i krok.

2, 4, 6, O i K, każda wartość w osobnej linii. Zakres dodaje krok 2, ale zatrzymuje się przed 7. Druga pętla przechodzi po dwóch znakach napisu.

Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:

2
4
6
O
K
Element zakresu 2 4 6
Następna kandydatka 4 6 8 — poza zakresem
Model do prześledzenia: porównaj każdy etap z kodem. Etykiety opisują znaczenie danych, nie tylko ich wygląd.

Zmień działający program

Zbuduj odliczanie 3, 2, 1 przez range z krokiem -1.

Pierwsza wskazówka

Zachowaj działający punkt wyjścia. Zlokalizuj konstrukcję wskazaną w poleceniu i zmień tylko ten etap. Przed uruchomieniem zapisz oczekiwany efekt.

Porównaj swoją modyfikację
for number in range(3, 0, -1):
    print(number)

Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:

3
2
1

Znajdź przyczynę problemu

Celowo błędny przykład diagnostyczny. Najpierw postaw hipotezę. Nie kopiuj tej wersji jako poprawnego rozwiązania.

Zamierzone działanie: Wyświetl liczby od 1 do 5 włącznie.

for number in range(1, 5):
    print(number)
Trop do diagnozy

Porównaj zamierzony rezultat z typami, nazwami i kolejnością instrukcji. Wskaż pierwsze miejsce, w którym zachowanie odbiega od celu.

Zastosuj w nowej sytuacji

Wskazówka do rozpoczęcia

for pobiera elementy. range określa początek, wyłączoną granicę i krok.

Zacznij od przygotowania danych. Pierwsza instrukcja przykładowego rozwiązania:

total = 0
Rozwiązanie do samodzielnej kontroli
total = 0
for number in range(2, 11, 2):
    total = total + number
print(total)

Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:

30

Porównaj dane wejściowe, wynik i powód użycia konstrukcji. Inna wersja kodu jest poprawna, jeśli realizuje te same wymagania.

Co zabierasz do kolejnego programu?

for pobiera elementy. range określa początek, wyłączoną granicę i krok.

Bez zaglądania do przykładu wyjaśnij własnymi słowami, jak główna konstrukcja prowadzi od danych do wyniku. Potem sprawdź wyjaśnienie, uruchamiając swój program.