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
countlub 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))
