Poprawny merytorycznie tekst potrafi wyglądać niedbale: podwójne spacje, spacja przed przecinkiem, brak spacji po dwukropku, dwa razy to samo słowo. Takie usterki łatwo przeoczyć, a część z nich da się wykrywać automatycznie. Na lekcji uczniowie zapisują reguły redakcyjne jako wyrażenia regularne, uruchamiają je na tekście z celowymi błędami i uczą się, że automat poprawia tylko to, co da się opisać regułą — resztę trzeba przeczytać.
Scenariusz jest przeznaczony na 45 minut dla klasy znającej napisy w Pythonie; wyrażenia regularne można podać jako gotowe narzędzie. Tekst jest wymyślony. Reguły opisują wybrane zasady typograficzne; w razie wątpliwości warto sprawdzić zasady w poradni językowej (np. użycie półpauzy i cudzysłowów drukarskich). Automatyczna poprawa wymaga przeglądu — reguła może zmienić tekst w sposób niezamierzony (np. usunąć celowe powtórzenie).
Przygotowanie stanowisk
Potrzebny jest Python 3 i edytor lub IDLE. Rozpakuj pakiet z sekcji materiałów do osobnego folderu i uruchamiaj skrypty z tego folderu. Program uruchomisz przez Run → Run Module albo poleceniem python start.py, python3 start.py lub py start.py.
Cele i plan lekcji
Po zajęciach uczeń potrafi:
- rozpoznać typowe błędy redakcyjne w tekście;
- zapisać reguły poprawy jako wyrażenia regularne;
- policzyć liczbę poprawek każdego rodzaju i sprawdzić tekst wynikowy;
- wyjaśnić ograniczenia automatycznej korekty i konieczność czytania tekstu.
| Czas | Praca na lekcji |
|---|---|
| 0–5 min | Problem: tekst „na oko” poprawny, a niedbały |
| 5–15 min | Typowe błędy redakcyjne |
| 15–22 min | Reguły w Pythonie |
| 22–37 min | Trzy zadania |
| 37–42 min | Własny tekst i korekta |
| 42–45 min | Pytania kontrolne |
Typowe błędy redakcyjne
| Błąd | Przykład | Poprawnie |
|---|---|---|
| wielokrotne spacje | Uczniowie klasy | Uczniowie klasy |
| spacja przed znakiem interpunkcyjnym | prezentację ,która | prezentację, która |
| brak spacji po przecinku lub dwukropku | powiedział:"Dobra" | powiedział: „Dobra” |
| powtórzone słowo | bardzo bardzo, i i | bardzo, i |
| cudzysłów prosty | "Dobra robota" | „Dobra robota” |
| łącznik zamiast półpauzy | robota - i | robota – i |
W polskim tekście drukarskim stosuje się cudzysłów dolny-górny („…”). Półpauza (–) łączy się z odstępami jako myślnik w zdaniu. Reguły w lekcji są uproszczone: „bardzo bardzo” bywa celowym wzmocnieniem, a prosty cudzysłów często jest dopuszczalny w tekstach technicznych — dlatego poprawki zawsze przeglądamy.
Wyrażenia regularne w regułach
" {2,}" oznacza dwie lub więcej spacji; r" +([,.;:!?])" — spacje przed znakiem interpunkcyjnym (znak zapamiętany i wstawiony z powrotem); r",(?=[^\s\d])" — przecinek, po którym nie ma spacji ani cyfry (żeby nie ruszać liczb dziesiętnych typu 3,5); \b(\w+) \1\b — słowo powtórzone zaraz po sobie.
Kolejność reguł
Najpierw porządkujemy spacje (reguły 1–2), potem dodajemy brakujące (3–4), dopiero na końcu zmieniamy cudzysłów i myślniki. Po poprawie drugie przejście przez te same reguły nie powinno już niczego zmieniać — to prosty test, że reguły są spójne.
Czego automat nie poprawi
Błędy ortograficzne, interpunkcję przy zdaniach podrzędnych, styl i sens zdania. Zawsze przeczytaj tekst na końcu — najlepiej na głos.
Zadania
Zadanie 1. Wykrycie. Uruchom siedem reguł na tekście i wypisz, ile razy zadziałała każda z nich.
Zadanie 2. Tekst. Wypisz tekst po wszystkich poprawkach i porównaj z oryginałem.
Zadanie 3. Kontrola. Uruchom reguły ponownie na poprawionym tekście i sprawdź, czy nie wprowadzają kolejnych zmian; wypisz łączną liczbę poprawek.
Dla chętnych: dodaj regułę usuwającą spację przed procentem lub dodającą spację między liczbą a jednostką i zastanów się, czy zasady są jednoznaczne.
Rozwiązanie i wyniki
import re
# UWAGA: tekst jest wymyslony i zawiera celowe bledy redakcyjne.
TEKST = 'Uczniowie klasy 2A, przygotowali prezentację ,która była bardzo bardzo długa . Nauczyciel powiedział:"Dobra robota" - i i pochwalił klasę.'
REGULY = [
("wielokrotne spacje", r" {2,}", " "),
("spacja przed znakiem interpunkcyjnym", r" +([,.;:!?])", r"\1"),
("brak spacji po przecinku", r",(?=[^\s\d])", ", "),
("brak spacji po dwukropku", r":(?=[^\s\d])", ": "),
("powtorzone slowo", r"\b(\w+) \1\b", r"\1"),
("cudzyslow prosty", r'"([^"]*)"', r"„\1”"),
("lacznik zamiast polpauzy", r" - ", " – "),
]
def popraw(tekst):
liczniki = {}
for opis, wzor, zamiana in REGULY:
tekst, ile = re.subn(wzor, zamiana, tekst)
liczniki[opis] = ile
return tekst, liczniki
# Zadanie 1: liczba wystapien kazdego bledu
poprawiony, liczniki = popraw(TEKST)
for opis, ile in liczniki.items():
print(opis + ":", ile)
# Zadanie 2: tekst po poprawie
print(poprawiony)
# Zadanie 3: kontrola - drugie przejscie nie powinno nic zmienic
ponownie, drugie = popraw(poprawiony)
print("Drugie przejscie zmienia tekst:", ponownie != poprawiony, "| laczna liczba poprawek:", sum(liczniki.values()))
Program wypisze:
wielokrotne spacje: 2
spacja przed znakiem interpunkcyjnym: 2
brak spacji po przecinku: 1
brak spacji po dwukropku: 1
powtorzone slowo: 2
cudzyslow prosty: 1
lacznik zamiast polpauzy: 1
Uczniowie klasy 2A, przygotowali prezentację, która była bardzo długa. Nauczyciel powiedział: „Dobra robota” – i pochwalił klasę.
Drugie przejscie zmienia tekst: False | laczna liczba poprawek: 10
Reguły wykrywają kolejno: dwie podwójne spacje, dwie spacje przed znakiem interpunkcyjnym, brak spacji po przecinku i po dwukropku, dwa powtórzone słowa („bardzo bardzo” oraz „i i”), jedną parę prostych cudzysłowów i jeden łącznik do zamiany na półpauzę. Po poprawie drugie przejście niczego nie zmienia. Plik rozszerzenie.py pokazuje, że reguła o przecinku nie rusza liczby dziesiętnej 3,5, ale poprawia a,b.
Plik rozszerzenie.py (zadanie dla chętnych) wypisze:
3,5 i a, b
Typowe błędy
| Objaw | Co sprawdzić |
|---|---|
| Reguła zmienia liczby dziesiętne | Pomiń przypadki typu 3,5 (wyrażenie z (?=[^\s\d])). |
| Usunięcie celowego powtórzenia | Automat nie odróżnia powtórzenia błędnego od celowego — czytaj tekst. |
| Zła kolejność reguł | Najpierw spacje, potem znaki, na końcu typografia. |
| Cudzysłów w tekście technicznym | W kodzie i cytatach z kodu zostaw proste cudzysłowy. |
| Poprawa bez kopii | Zachowaj oryginał; automat może zepsuć tekst. |
| Poleganie tylko na automacie | Przeczytaj tekst ostatecznie samodzielnie. |
Pytania kontrolne i punktacja
- Dlaczego po automatycznej korekcie trzeba przeczytać tekst?
- Co daje uruchomienie reguł drugi raz?
- Dlaczego przy przecinku sprawdzamy, czy następny znak nie jest cyfrą?
Odpowiedzi: Bo automat poprawia tylko to, co opisano regułą, i może zmienić tekst w sposób niezamierzony. Sprawdza, czy reguły są spójne i nie wprowadzają kolejnych zmian w już poprawionym tekście. Aby nie wstawić spacji w liczbie dziesiętnej, np. w „3,5”.
Proponowana punktacja (razem 10 punktów): zadanie 1 — siedem liczników 3 pkt; zadanie 2 — tekst po poprawie 2 pkt; zadanie 3 — kontrola i liczba poprawek 2 pkt; ograniczenia automatu w pytaniach 3 pkt. Zadanie dla chętnych nie jest wymagane do pełnej oceny.
Materiały do pobrania
- Pakiet Informatyka: materiały do lekcji, rozwiązanie i karta pracy
- Karta pracy ucznia — otwórz i wydrukuj
Rozpakuj ZIP przed otwarciem plików. Materiały są dostępne bez logowania; publiczne rozwiązanie służy nauce i samodzielnemu sprawdzeniu, a nie poufnemu sprawdzianowi.
Co dalej?
Następny krok to korekta ortografii i stylu, spis tabel i rysunków oraz przygotowanie dokumentu do druku. Ten materiał rozwija dział o edytorze tekstu w kursie Informatyka w TablicaPro, gdzie znajdziesz prezentacje, ćwiczenia i testy do prowadzenia lekcji.
Źródła techniczne: poradnia językowa PWN oraz moduł re. Zobacz też lekcję o tabelach w edytorze tekstu.
Poprowadź kolejne lekcje Informatyka
Pełny kurs: prezentacje, ćwiczenia i testy do pracy z klasą.
Kup dostęp do kursu Informatyka →