2.2 Kwadraty z dziewięciu symboli

Matura maj 2025 - Matura z informatyki: arkusze krok po kroku (Python)

Zadanie 2.2 (4 pkt): kwadraty 3 na 3 z identycznych symboli; liczba kwadratów i (wiersz, pozycja) środka każdego, licząc od 1. Środek nie może leżeć w pierwszym ani ostatnim wierszu ani na brzegu napisu, więc pętle zaczynają od 1. `all(...)` sprawdza wszystkie dziewięć pól naraz. W pliku przykładowym jest jeden kwadrat ze środkiem w wierszu 6 na pozycji 3.

with open("symbole_przyklad.txt") as f:
    rows = [line.strip() for line in f]

# 2.1 palindrom: napis czytany od tyłu (row[::-1]) jest taki sam
palindromes = [row for row in rows if row == row[::-1]]

# 2.2 kwadrat 3x3: środek nie leży na brzegu, więc wiersze 1..n-2 i pozycje 1..10
squares = []
for i in range(1, len(rows) - 1):
    for j in range(1, 11):
        symbol = rows[i][j]
        if all(rows[i + di][j + dj] == symbol for di in (-1, 0, 1) for dj in (-1, 0, 1)):
            squares.append((i + 1, j + 1))  # numeracja od 1, jak w arkuszu

print("2.1", palindromes)
print("2.2", len(squares), squares)

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Matura z informatyki: arkusze krok po kroku·Zaloguj się, aby zapisać postęp na koncie.