Liceum Klasa I 45 minut PP: II.1 | s. 343

Lekcja 11: Instrukcje iteracyjne - petla for, while - zastosowania

Petle w Pythonie: for z range(), while, break, continue - praktyczne zastosowania

📋 Podstawa programowa: II.1
Pythoniteracjapetla forpetla whilerange
00:00
Wprowadzenie
5 min
00:05
Teoria
15 min
00:20
Cwiczenia
15 min
00:35
Podsumowanie
10 min
📚

Teoria

▼

Czym sa instrukcje iteracyjne?

Instrukcje iteracyjne (petle) to konstrukcje programistyczne pozwalajace na wielokrotne wykonywanie tego samego bloku kodu. Dzieki nim mozemy powtarzac operacje bez koniecznosci recznego przepisywania kodu wiele razy. W Pythonie mamy do dyspozycji dwa rodzaje petli: for i while.

Zasada DRY (Don't Repeat Yourself): Petle pozwalaja uniknac wielokrotnego powtarzania tego samego kodu. Zamiast pisac 100 linii, mozemy uzyc petli, ktora wykona dana operacje 100 razy.

Petla for z funkcja range()

Petla for w Pythonie sluzy do iterowania po elementach sekwencji. Najczesciej uzywamy jej z funkcja range(), ktora generuje ciag liczb calkowitych.

Funkcja range() moze przyjmowac od 1 do 3 argumentow:

  • range(n) - generuje liczby od 0 do n-1
  • range(start, stop) - generuje liczby od start do stop-1
  • range(start, stop, step) - generuje liczby od start do stop-1 z krokiem step
# Petla for - wypisanie liczb od 0 do 4
for i in range(5):
    print(i)  # Wypisze: 0, 1, 2, 3, 4

# Petla for z zakresem od 1 do 10
for i in range(1, 11):
    print(i)  # Wypisze: 1, 2, 3, ..., 10

# Petla for z krokiem 2 (liczby parzyste)
for i in range(0, 20, 2):
    print(i)  # Wypisze: 0, 2, 4, 6, ..., 18

# Petla for - odliczanie w dol
for i in range(10, 0, -1):
    print(i)  # Wypisze: 10, 9, 8, ..., 1

Petla while

Petla while wykonuje blok kodu tak dlugo, jak dlugo warunek jest prawdziwy (True). Jest uzywana wtedy, gdy nie wiemy z gory, ile razy petla powinna sie wykonac.

# Petla while - odliczanie od 5
licznik = 5
while licznik > 0:
    print(licznik)
    licznik -= 1
print("Start!")

# Petla while - sumowanie do progu
suma = 0
while suma < 100:
    liczba = int(input("Podaj liczbe: "))
    suma += liczba
print("Suma przekroczyla 100, wynosi:", suma)
Uwaga - nieskonczona petla! Jezeli warunek w petli while nigdy nie stanie sie falszywy, petla bedzie sie wykonywac w nieskonczonosc. Aby przerwac taki program, nacisniej Ctrl+C. Zawsze upewnij sie, ze warunek petli moze zostac spelniony.

Instrukcje break i continue

Wewnatrz petli mozemy uzywac specjalnych instrukcji sterujacych:

  • break - natychmiast przerywa dzialanie petli
  • continue - pomija reszte kodu w biezacej iteracji i przechodzi do nastepnej
# Przyklad break - szukanie liczby
for i in range(1, 101):
    if i == 42:
        print("Znaleziono 42!")
        break

# Przyklad continue - pominiecie liczb parzystych
for i in range(1, 11):
    if i % 2 == 0:
        continue
    print(i)  # Wypisze tylko: 1, 3, 5, 7, 9

Kiedy uzywac for, a kiedy while?

  • for - gdy wiemy z gory, ile razy petla ma sie wykonac (np. "powtorz 10 razy", "przejdz przez wszystkie elementy listy")
  • while - gdy nie znamy liczby powtorzen, a petla ma sie wykonywac do momentu spelnienia warunku (np. "pytaj uzytkownika az poda poprawna odpowiedz")
✏️

Zadania

▼
Latwe

Zadanie 1: Suma liczb od 1 do n

Napisz program, ktory wczytuje od uzytkownika liczbe n, a nastepnie oblicza sume wszystkich liczb od 1 do n za pomoca petli for.

Pokaz rozwiazanie
n = int(input("Podaj n: "))
suma = 0
for i in range(1, n + 1):
    suma += i
print("Suma liczb od 1 do", n, "wynosi:", suma)
Srednie

Zadanie 2: Silnia liczby

Napisz program obliczajacy silnie (n!) podanej przez uzytkownika liczby n. Uzyj petli for lub while. Pamietaj, ze 0! = 1.

Pokaz rozwiazanie
n = int(input("Podaj n: "))
silnia = 1
for i in range(1, n + 1):
    silnia *= i
print(f"Silnia {n}! = {silnia}")
Srednie

Zadanie 3: Gra - zgadnij liczbe

Napisz gre, w ktorej komputer losuje liczbe od 1 do 100, a uzytkownik ma ja odgadnac. Po kazdej probie program podpowiada "za duzo" lub "za malo". Uzyj petli while i modulu random.

Pokaz rozwiazanie
import random

wylosowana = random.randint(1, 100)
proby = 0

print("Zgadnij liczbe od 1 do 100!")

while True:
    strzal = int(input("Twoj strzal: "))
    proby += 1

    if strzal == wylosowana:
        print(f"Brawo! Odgadles w {proby} probach!")
        break
    elif strzal < wylosowana:
        print("Za malo!")
    else:
        print("Za duzo!")
Trudne

Zadanie 4: Tablica mnozenia

Napisz program, ktory wyswietla tabliczke mnozenia od 1 do 10 w formie przejrzystej tabeli, uzywajac zagniezdzonych petli for.

Pokaz rozwiazanie
print("    ", end="")
for j in range(1, 11):
    print(f"{j:4}", end="")
print()
print("-" * 44)

for i in range(1, 11):
    print(f"{i:2} |", end="")
    for j in range(1, 11):
        print(f"{i*j:4}", end="")
    print()
🎥

Materialy wideo

▼
5. Kurs Python 3 - pętla while, instrukcje skoku (break, continue)
Kanał o Wszystkim
Pętla w Python. Powtarzanie w programowaniu. Co to jest pętla ?.
SmartKod
🎧

Podcasty

▼
✔️

Quiz - sprawdz sie!

▼
📜

Podstawa programowa

▼
← Lekcja 10 Lekcja 12: Algorytmy na liczbach →