Rozdział 10 · Trochę automatyzacji!

if warunki w for cyklach

Pętle i warunki świetnie ze sobą współpracują — a pętle można zagnieżdżać w sobie.

if warunki w for cyklach

if z rozdziału 9 działa perfekcyjnie w pętli — na każdym z nich Krok możesz podjąć własną decyzję:

if_v_cikle.py
for number in range(1, 11):
    if number % 2 == 0:
        print(number, „— nawet”)

Zagnieżdżone pętle for

pętlę można umieścić w innej pętli – wtedy wewnętrzna pętla jest w pełni wykonana na każdym kroku zewnętrznej. Wyobraź sobie siatkę: zewnętrzna pętla biegnie wzdłuż łańcuch znakówm, wewnętrzna pętla biegnie wzdłuż kolumny każdego wiersza:

vlozhennye_cikly.py
for row in range(3):
    for col in range(4):
        print(f"({row}, {col})", end=" ")
    print()  # nowy łańcuch znaków po każdym wierszu
pętla wewnętrzna to col (0..3) →zewnętrzna pętla — row (0..2) ↓
Zewnętrzna pętla to 3 wiersze, wewnętrzna pętla to 4 kolumny każda: 3 × 4 = 12 komórek

Ile razy wykona się wewnętrzna pętla?

linie×kolumny=iteracji ciała
Wzór liczby iteracji zagnieżdżonej pętli
rowcolprint(...) raz zadziałało. Nie.
001
012
023
034
105
2312
Zagnieżdżone pętle — częsta przyczyna nieoczekiwanej powolności
Cykl zewnętrzny wykonywany jest 3 razy, cykl wewnętrzny 4 razy na każdym z nich etap zewnętrznego — całkowity print(...) w środku się sprawdzi 3 * 4 = 12 raz. Jeśli obie pętle idą nie do 3-4, lecz do tysięcy, końcowa liczba iteracji mnoży się — i program może działać zdecydowanie dłużej, niż się wydaje na pierwszy rzut oka.

Mini Projekt: Tablica mnożenia

Klasycznym problemem zagnieżdżonej pętli jest wydrukowanie tablicy mnożenia od 1 do 5:

tablica_umnozheniya.py
for a in range(1, 6):
    for b in range(1, 6):
        print(a * b, end="\t")
    print()
Wystarczy jeden lub dwa przykłady
Nie będziemy konkretnie mnożyć przykładów wzorców na zagnieżdżonych cyklach — tablica mnożenia (i powyższa siatka) dają wystarczającą intuicję, by samodzielnie czytać i zapisywać podobne konstrukcje.

Pętla + łańcuch znaków + warunek

Zagnieżdżanie działa także tam, gdzie wewnętrzna „pętla”

cikl_stroka_uslovie.py
slova = ["python", „kod”, „cykl”]

for slovo in slova:
    bukvy_o = 0
    for letter in slovo:
        if letter == „o”:
            bukvy_o += 1
    print(slovo, "—", bukvy_o)
Praktyka: warunki i zagnieżdżone pętle
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →
Praktyka: mini-projekt „Tabliczka mnożenia”
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →
Praktyka: Ile iteracji jest w zagnieżdżonej pętli?
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →