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

Lekcja 19: Petla for - iteracje po zakresach i kolekcjach

Powtarzanie operacji za pomoca petli for i funkcji range()

📋 Podstawa programowa: II.1
Pythoniteracjapetla forrange
00:00
Wprowadzenie
5 min
00:05
Teoria
15 min
00:20
Cwiczenia
20 min
00:40
Podsumowanie
5 min
📚

Teoria

Czym jest petla for?

Petla for sluzy do powtarzania fragmentu kodu okreslona liczbe razy lub do przechodzenia po elementach kolekcji (listy, napisu, zakresu). Jest to tzw. iteracja.

Zlota zasada: Uzyj petli for, gdy wiesz z gory, ile razy chcesz powtorzyc operacje. Gdy nie wiesz - uzyj petli while (nastepna lekcja).

Funkcja range()

Funkcja range() generuje ciag liczb calkowitych:

# range(stop) - od 0 do stop-1
for i in range(5):
    print(i)       # 0, 1, 2, 3, 4

# range(start, stop) - od start do stop-1
for i in range(2, 7):
    print(i)       # 2, 3, 4, 5, 6

# range(start, stop, step) - z krokiem
for i in range(0, 10, 2):
    print(i)       # 0, 2, 4, 6, 8

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

Iteracja po napisach

imie = "Python"
for litera in imie:
    print(litera)  # P, y, t, h, o, n

Iteracja po listach

owoce = ["jablko", "banan", "wisnia"]
for owoc in owoce:
    print(f"Lubie {owoc}!")

# Z indeksem - enumerate()
for i, owoc in enumerate(owoce):
    print(f"{i+1}. {owoc}")

Akumulacja wynikow

Czesty wzorzec: zbieranie wynikow w zmiennej (suma, iloczyn, lista):

# Suma liczb od 1 do 100
suma = 0
for i in range(1, 101):
    suma += i
print(f"Suma = {suma}")  # 5050

# Silnia n!
n = 5
silnia = 1
for i in range(1, n + 1):
    silnia *= i
print(f"{n}! = {silnia}")  # 120

Petla zagniezdzona

# Tabliczka mnozenia 1-5
for i in range(1, 6):
    for j in range(1, 6):
        print(f"{i*j:4}", end="")
    print()  # nowa linia po kazdym wierszu
✏️

Zadania

Latwe

Zadanie 1: Suma i srednia

Napisz program, ktory wczytuje od uzytkownika n liczb (n podaje uzytkownik), a nastepnie oblicza i wyswietla ich sume oraz srednia arytmetyczna.

Pokaz przykladowe rozwiazanie
n = int(input("Ile liczb chcesz podac? "))
suma = 0

for i in range(n):
    liczba = float(input(f"Podaj liczbe {i+1}: "))
    suma += liczba

print(f"Suma: {suma}")
print(f"Srednia: {suma / n:.2f}")
Latwe

Zadanie 2: Gwiazdkowy trojkat

Napisz program, ktory dla podanego n rysuje trojkat z gwiazdek. Np. dla n=5:

*
**
***
****
*****
Pokaz przykladowe rozwiazanie
n = int(input("Podaj wysokosc trojkata: "))
for i in range(1, n + 1):
    print("*" * i)
Srednie

Zadanie 3: Tabliczka mnozenia

Napisz program, ktory wyswietla tabliczke mnozenia od 1 do 10 w formie ladnej tabeli. Uzyj petli zagniezdzonej i formatowania f-string z wyrownaniem.

Pokaz przykladowe 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()
Trudne

Zadanie 4: Analiza tekstu

Napisz program, ktory wczytuje tekst od uzytkownika i wyswietla: a) liczbe znakow, b) liczbe samoglosek, c) liczbe spacji, d) liczbe cyfr. Uzyj petli for po napisie.

Pokaz przykladowe rozwiazanie
tekst = input("Podaj tekst: ")

samogloski = "aeiouAEIOU"
liczba_samoglosek = 0
liczba_spacji = 0
liczba_cyfr = 0

for znak in tekst:
    if znak in samogloski:
        liczba_samoglosek += 1
    elif znak == " ":
        liczba_spacji += 1
    elif znak.isdigit():
        liczba_cyfr += 1

print(f"Liczba znakow: {len(tekst)}")
print(f"Samogloski: {liczba_samoglosek}")
print(f"Spacje: {liczba_spacji}")
print(f"Cyfry: {liczba_cyfr}")
🎥

Materialy wideo

Samouczek pętli for w Kotlinie: Opanuj iterację po kolekcjach, tablicach i zakresach
CodeLucky
Jak działa pętla for w języku Python? Pętla for: Podstawy programowania w Pythonie
VideoKursPL
🎧

Podcasty

✔️

Quiz - sprawdz sie!

📜

Podstawa programowa

← Lekcja 18: Instrukcje warunkowe - zadania Lekcja 20: Petla while →