Karta pracy – Algorytmy na tekstach

Karta pracy – Algorytmy na tekstach (wersja tekstowa)
Poziom: klasa 3 liceum ogólnokształcącego (poziom podstawowy)
Temat: proste algorytmy na tekstach (stringach) w języku Python

🧪 Gdzie testować online?

Skopiuj kod do:
https://python.org/shell/
https://www.online-python.com/
https://replit.com/languages/python3

Zadanie 1. Długość tekstu

Podany jest tekst:

tekst = "Programowanie to świetna zabawa"

Celem zadania jest obliczenie, ile znaków ma ten tekst, oraz zapisanie polecenia w Pythonie, które tę długość oblicza.

Najważniejsze pomysły:

  • Do obliczania długości napisu w Pythonie służy funkcja len().
  • Dla powyższego tekstu długość to 31 znaków (łącznie ze spacjami).

Przykładowy kod:

tekst = "Programowanie to świetna zabawa"
dlugosc = len(tekst)
print(dlugosc)  # 31

Zadanie 2. Wyszukiwanie fragmentu tekstu

Dany jest tekst:

napis = "Alicja i Ola lubią programować"

Zadanie polega na:

  • sprawdzeniu, czy w tekście występuje słowo "Ola",
  • sprawdzeniu, od którego indeksu zaczyna się słowo "Alicja",
  • sprawdzeniu, czy w tekście występuje słowo "Bartek" i wypisaniu komunikatu.

Przykładowe rozwiązania cząstkowe:

napis = "Alicja i Ola lubią programować"

# Czy jest "Ola"?
print("Ola" in napis)  # True

# Indeks słowa "Alicja"
print(napis.find("Alicja"))  # 0

# Sprawdzenie słowa "Bartek"
if "Bartek" in napis:
    print("W tekście jest słowo 'Bartek'.")
else:
    print("W tekście nie ma słowa 'Bartek'.")

Zadanie 3. Zliczanie znaków

Dany jest tekst:

tekst = "bananada"

Zadanie polega na policzeniu, ile razy w tekście występuje litera "a", oraz zapisaniu odpowiedniego polecenia w Pythonie.

Najważniejsze obserwacje:

  • Litera "a" występuje 4 razy.
  • Można użyć metody count lub pętli.

Rozwiązanie z użyciem .count():

tekst = "bananada"
liczba_a = tekst.count("a")
print(liczba_a)  # 4

Zadanie 4. Zamiana fragmentu tekstu

Dany jest tekst:

tekst = "Ala ma psa"

Zadanie polega na zapisaniu polecenia, które zamieni słowo "psa" na "kota".

Przykładowy kod:

tekst = "Ala ma psa"
nowy_tekst = tekst.replace("psa", "kota")
print(nowy_tekst)  # "Ala ma kota"

Zadanie 5. Porównywanie tekstów

Rozważ dwa napisy:

"Ala"   i   "ala"

Zadanie polega na zapisaniu sposobu porównania ich bez rozróżniania wielkości liter oraz podaniu wyniku porównania.

Przykładowy kod porównujący:

print("Ala".lower() == "ala".lower())  # True

Wynik porównania po zamianie obu napisów na małe litery to True.

Zadanie 6. Odwracanie tekstu

Dany jest tekst:

tekst = "krowa"

Zadanie polega na zapisaniu polecenia, które odwróci tekst (zapisze go „od końca”), oraz podaniu wyniku.

Przykładowy kod:

tekst = "krowa"
odwrocony = tekst[::-1]
print(odwrocony)  # "awork"

Wynik odwrócenia tekstu "krowa" to "awork".

Zadanie 7. Zadanie problemowe

Napisz w Pythonie program, który:

  • pobiera od użytkownika tekst (np. do zmiennej tekst),
  • sprawdza, ile razy występuje litera "e",
  • sprawdza, czy w tekście występuje słowo "kot",
  • wypisuje oba wyniki na ekran.

Przykładowe rozwiązanie jako program:

tekst = input("Podaj tekst: ")

liczba_e = tekst.count("e")
jest_kot = "kot" in tekst

print("Liczba liter 'e':", liczba_e)
if jest_kot:
    print("W tekście występuje słowo 'kot'.")
else:
    print("W tekście nie ma słowa 'kot'.")

Zadanie 8. Zadanie dodatkowe (dla chętnych)

Możesz zaproponować własny prosty algorytm na tekstach i zapisać go w Pythonie. Przykładowo:

  • funkcja zamieniająca wszystkie litery na wielkie,
  • funkcja usuwająca spacje z tekstu,
  • funkcja sprawdzająca, czy tekst zaczyna się od określonego słowa.

Usuwanie spacji:

def usun_spacje(tekst):
    return tekst.replace(" ", "")

#Przykład:
print(usun_spacje("Ala ma kota"))

Zamiana liter na wielkie:

def na_wielkie(tekst):
return tekst.upper()

#Przykład:
print(na_wielkie(„Ala ma kota”))

Sprawdzanie czy tekst zaczyna się od określonego słowa:

def zaczyna_sie_od(tekst, slowo):
return tekst.startswith(slowo)

#Przykład:
print(zaczyna_sie_od(„Ala ma kota”, „Ala”)) #True
print(zaczyna_sie_od(„Ala ma kota”, „Kot”)) #False

Liczenie liczby słów:

def licz_slowa(tekst):
return len(tekst.split())

#Przykład:
print(licz_slowa(„Ala ma kota i psa”))

Odwracanie tekstu:

def odwroc_tekst(tekst):
return tekst[::-1]

#Przykład
print(odwroc_tekst(„Ala ma kota”))

🔍 Przykładowy program testujący wszystkie funkcje

Możesz wkleić i uruchomić całość naraz:

def na_wielkie(tekst):
return tekst.upper()

def usun_spacje(tekst):
return tekst.replace(” „, „”)

def zaczyna_sie_od(tekst, slowo):
return tekst.startswith(slowo)

def licz_slowa(tekst):
return len(tekst.split())

def odwroc_tekst(tekst):
return tekst[::-1]

#Przykładowy tekst:

t = „Ala ma kota i psa”

print(„Oryginał:”, t)
print(„Wielkie litery:”, na_wielkie(t))
print(„Bez spacji:”, usun_spacje(t))
print(„Zaczyna się od ‚Ala’:”, zaczyna_sie_od(t, „Ala”))
print(„Zaczyna się od ‚Kot’:”, zaczyna_sie_od(t, „Kot”))
print(„Liczba słów:”, licz_slowa(t))
print(„Odwrócenie:”, odwroc_tekst(t))