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 + 12. 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:
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)