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 →