Poziom: klasa 3 liceum ogólnokształcącego, poziom podstawowy
1. Wprowadzenie
W informatyce tekstem nazywamy ciąg znaków, na przykład:
- słowo:
"kot", - zdanie:
"To jest przykład.", - dowolny zestaw liter i znaków:
"A1b!#".
W programowaniu tekst często nazywany jest stringiem (typ str). Algorytmy na tekstach to sposoby przetwarzania napisów, na przykład:
- liczenie znaków,
- wyszukiwanie fragmentu tekstu,
- zamiana znaków lub słów,
- sprawdzanie, czy dane słowo występuje w tekście,
- porównywanie tekstów.
Takie algorytmy pojawiają się między innymi w:
- wyszukiwarkach internetowych,
- edytorach tekstu (funkcje typu „Znajdź i zamień”),
- filtrach wiadomości (np. wykrywanie spamu),
- komunikatorach i portalach społecznościowych.
2. Podstawowe pojęcia: string, znak, indeks, długość tekstu
2.1. String (tekst)
String to ciąg znaków zapisany w cudzysłowie:
tekst = "Ala ma kota"
2.2. Znak
Znak to pojedyncza litera, cyfra lub symbol, na przykład: "A", "!", "7".
2.3. Indeks znaku
Każdy znak w tekście ma swój numer pozycji, czyli indeks. W języku Python numerowanie zaczyna się od 0.
Przykład – tekst:
A l a m a k o t a
0 1 2 3 4 5 6 7 8 9 10
2.4. Długość tekstu
Długość tekstu to liczba znaków, z uwzględnieniem spacji. W Pythonie do obliczenia długości tekstu służy funkcja len().
tekst = "Ala ma kota"
print(len(tekst)) # wynik: 11
3. Podstawowe operacje (algorytmy) na tekstach
3.1. Liczenie długości tekstu
Jest to jeden z najprostszych algorytmów na tekstach – po prostu liczymy, ile znaków znajduje się w ciągu.
tekst = "Ala ma kota"
dlugosc = len(tekst)
print(dlugosc) # 11
3.2. Wyszukiwanie znaku lub fragmentu tekstu
a) Sprawdzanie, czy znak/fragment występuje w tekście
Do sprawdzenia, czy dany znak lub fragment występuje w tekście, można użyć operatora in.
tekst = "Ala ma kota"
print("a" in tekst) # True
print("z" in tekst) # False
b) Sprawdzanie, od którego miejsca zaczyna się fragment
Metoda .find() zwraca indeks (pozycję), od której zaczyna się dany fragment, lub -1, jeśli fragment nie występuje w tekście.
tekst = "Ala ma kota"
pozycja = tekst.find("ma")
print(pozycja) # 4
3.3. Zliczanie wystąpień znaku lub słowa
Metoda .count() zwraca liczbę wystąpień danego fragmentu w tekście.
tekst = "banana"
print(tekst.count("a")) # 3
print(tekst.count("na")) # 2
3.4. Zamiana fragmentu tekstu
Metoda .replace() pozwala zamienić wszystkie wystąpienia jednego fragmentu na inny.
tekst = "Ala ma kota"
nowy = tekst.replace("kota", "psa")
print(nowy) # Ala ma psa
3.5. Porównywanie tekstów
Teksty można porównywać za pomocą operatora ==.
print("Ala" == "Ala") # True
print("Ala" == "ala") # False
Czasem nie chcemy rozróżniać wielkości liter. Wtedy możemy najpierw zamienić tekst na małe litery:
print("Ala".lower() == "ala".lower()) # True
lub krócej
print('Ala'.lower() == 'ala') # True
3.6. Odwracanie tekstu
Odwrócenie tekstu oznacza zapisanie go „od końca”, na przykład: "pies" → "seip".
tekst = "pies"
odwrocony = tekst[::-1]
print(odwrocony) # seip
3.7. Usuwanie spacji na początku i końcu tekstu
Metoda .strip() usuwa zbędne spacje z początku i końca tekstu.
tekst = " hej "
czysty = tekst.strip()
print(czysty) # "hej"
4. Przykłady algorytmów na tekstach — krok po kroku
4.1. Przykład 1: Liczenie liczby liter „a” w tekście
Opis algorytmu (słownie):
- Weź dany tekst.
- Ustaw licznik na 0.
- Przejdź po każdym znaku tekstu.
- Jeśli znak jest równy
"a", zwiększ licznik o 1. - Po przejściu przez wszystkie znaki wypisz wartość licznika.
W Pythonie:
tekst = "Ala ma kota"
licznik = 0
for znak in tekst:
if znak == "a":
licznik += 1
print(licznik) # 3 bo bierzemy pod uwagę tylko małe a
4.2. Przykład 2: Sprawdzenie, czy w tekście jest słowo „kot”
Opis:
- Weź tekst.
- Sprawdź, czy fragment
"kot"występuje w tekście. - Jeśli tak, wypisz odpowiedni komunikat, jeśli nie — inny.
W Pythonie:
tekst = "Ala ma kota"
if "kot" in tekst:
print("W tekście jest słowo 'kot'.")
else:
print("W tekście nie ma słowa 'kot'.")
4.3. Przykład 3: Zamiana spacji na myślniki
W tym przykładzie zamienimy wszystkie spacje w tekście na myślniki, na przykład: "Ala ma kota" → "Ala-ma-kota".
tekst = "Ala ma kota"
nowy = tekst.replace(" ", "-")
print(nowy) # Ala-ma-kota
5. Podsumowanie
W tej lekcji poznaliśmy podstawowe pojęcia oraz algorytmy związane z tekstami (stringami) w programowaniu:
- Tekst (string) to ciąg znaków zapisany w cudzysłowie.
- Każdy znak ma swój indeks (pozycję), numerowaną od 0.
- Długość tekstu można obliczyć za pomocą funkcji
len(). - Operator
inpozwala sprawdzić, czy dany fragment występuje w tekście. - Metoda
.find()zwraca pozycję, od której zaczyna się fragment (lub-1, jeśli go nie ma). - Metoda
.count()liczy wystąpienia fragmentu w tekście. - Metoda
.replace()służy do zamiany fragmentów tekstu. - Metody
.lower()i.upper()zmieniają wielkość liter. - Tekst można odwrócić za pomocą zapisu
tekst[::-1]. - Metoda
.strip()usuwa spacje na początku i końcu tekstu.
Algorytmy na tekstach są proste, ale bardzo praktyczne. Pojawiają się w wielu programach i aplikacjach, z których korzystamy na co dzień. Zrozumienie tych podstaw pozwala budować coraz bardziej zaawansowane rozwiązania.
Karta pracy – pobierz
