Łapka LogoŁapka Infa
🌐
Algorytmy

Python (2/4): Pętle i Automatyzacja

Zamiast pisać 100 razy 'print', zrób to w pętli. Pętla while oraz potężna pętla for z range().

Pętle w Pythonie (2/4)

Zadanie maturalne brzmi: "Wypisz kwadraty wszystkich liczb od 1 do 100". Zrobić to ręcznie? Braknie Ci czasu. Programowanie pozwala na automatyzację nudnych czynności przy pomocy tzw. Pętli (Loops).

1. Pętla while (Dopóki)

Używana głównie, gdy nie wiemy z góry, ile razy coś ma się powtórzyć. Działa jak zapętlony if. Kod w jej wnętrzu wykonuje się tak długo, jak warunek na górze to Prawda.

licznik = 1

# Dopóki licznik jest mniejszy lub równy 5:
while licznik <= 5:
    print("Okrążenie numer:", licznik)
    # Zwiększamy licznik (bardzo ważne!), inaczej pętla zablokuje komputer w nieskończoność!
    licznik = licznik + 1

2. Pętla for (Dla...)

To absolutna podstawa na maturze, używana do wszystkiego. Pętla for w Pythonie działa na zasadzie "przechodzenia po kolei" (iterowania) przez jakieś elementy (np. listę liczb, litery w słowie).

Gdy znasz konkretną liczbę powtórzeń (np. "zrób to 10 razy"), używasz genialnej funkcji range() (zasięg).

# i - to wymyślona przez nas, tymczasowa zmienna, która przy każdym okrążeniu przyjmuje kolejną wartość z zasięgu (range).
for i in range(5):
    print("Hej, powtarzam to. Wartość i wynosi:", i)

PUŁAPKA (Liczenie od zera!) 🪤 Wynik powyższego kodu pokaże na ekranie: 0, 1, 2, 3, 4. Zawsze, domyślnie, informatyka (i funkcja range) zaczyna liczyć od 0. range(5) oznacza "wygeneruj pięć kolejnych liczb", a nie "dojedź do liczby 5". Liczba na końcu (tzw. zderzak) ZAWSZE NIE WCHODZI W SKŁAD generowanego ciągu.

Modyfikacja funkcji range()

Możemy jej podać punkt Startu, Koniec oraz Krok (co ile ma skakać).

# range(Start, Koniec(nie wchodzi!), Krok)
for liczba in range(10, 15, 1):
    # Wypisze: 10, 11, 12, 13, 14
    print(liczba)

for parzysta in range(0, 11, 2):
    # Wypisze: 0, 2, 4, 6, 8, 10
    print(parzysta)
🐍

Interaktywny Eksperyment: Przetestuj pętlę for w przeglądarce

Kliknij 'Uruchom kod' poniżej. Zmień wartości w range() lub napisz własny print i zobacz efekt w konsoli:

Symbole:

3. Literowanie (iterowanie) po Napisie (String)

Zadanie na maturze: "Policz, ile jest literek 'A' w słowie wpisanym przez użytkownika". W C++ to kilkanaście linijek kombinacji. W Pythonie:

slowo = "MATEMATYKA"
licznik_liter_a = 0

for litera in slowo:
    if litera == "A":
        licznik_liter_a += 1

print("Liczba liter A:", licznik_liter_a)