Informatyka

Temat: Wyszukiwanie wzorca w tekście. Przetwarzanie napisów.

Czym jest programowanie?

Programowanie to umiejętność rozmowy z komputerem. Rozmawiamy z komputerem w zrozumiałych dla niego językach, czyli językach programowania. Dajemy komputerowi polecenia, co ma zrobić, a on w odpowiedzi pokazuje nam wyniki swojej pracy. Osobę, która programuje, nazywamy programistą lub developerem.

O Pythonie

Python – język programowania wysokiego poziomu, często używany jako język skryptowy. Cechuje go przejrzysta i zwięzła składnia. Ma rozbudowany pakiet bibliotek, co powoduje, że znajduje liczne zastosowania zarówno edukacyjne, jak i komercyjne.

Operacje na napisach

Tworzenie napisów
Napis w Pythonie będziemy traktowali jako ciąg znaków. Znaki umieszczamy między apostrofami ' lub cudzysłowami ". Szczególnym rodzajem napisu jest ciąg pusty – czyli taki, który nie zawiera żadnego znaku ''. Nie należy go mylić ze znakiem spacji ' '.

Przykład:
a = "Ala"
b = " "
c = 'ma 2 koty!'
print(a)
print(b)
print(c)
print(a + b + c)

Fragmenty napisów
Każdy znak w napisie ma swój numer zwany indeksem. Przy czym pierwszy znak ma index 0, drugi 1, …, a ostatni długość napisu - 1.

Przykład:
a = "Programowanie w Pythonie"
print(a[0])
print(a[:13])
print(a[14:])
print(a[16:22])


Elementy napisu

Czasem musimy sprawdzić, czy dany znak lub ciąg znaków zawiera się w innym ciągu. Wykorzystamy do tego celu instrukcję in.

Przykład:
napis = "Algorytmika w Pythonie!"
print("Algorytm" in napis)
print("!" in napis)



Inne operacje na tekście

.find(znak) - wyszukiwanie
.count(znak) - zwraca liczbę podciągu w ciągu znaków
.lower() - zwraca kopię napisu zamienionego na małe litery
.upper() - zwraca kopię napisu zamienionego na wielkie litery
.swapcase() - zwraca kopię napisu z małymi literami zamienionymi na wielkie i vice versa

Pytanie użytkownika o imię, a następnie przywitanie się z nim.

Przykład:
imie = input('Podaj swoje imię... ')
print('Część ' + imie + ' - Ja mam ksywkę Python...')

Obliczenia, to również zadanie związane z treściami i napisami. Pobierzemy, a więc „wczytamy” napis, najlepiej losowy, następnie dwukrotnie zapytamy się o szukane litery/znaki. Następnie zliczymy ilość ich wystąpień w tekście oraz sprawdzimy, na którym miejscu pojawiają się pierwszy raz. To jest przykład wykorzystania metod, które Python udostępnia nam dla zmiennych tekstowych. Przy okazji wprowadzamy dwie funkcje:

str(liczba) – zamienia liczbę całkowitą int na tekst string, a więc pozwala na dodanie tego w funkcji print

len(tekst) – zlicza długość tekstu (uwaga na przyszłość! zlicza długość zmiennej dowolnego typu, także tablic)

Przykład:
tekst = input('Podaj długi tekst: ')
szuk_1 = input('A teraz podaj pierwszą szukaną literę: ')
szuk_2 = input('A teraz podaj drugą szukaną literę, inną niż pierwsza : ')

ile_1 = tekst.count(szuk_1)
gdzie_1 = tekst.find(szuk_1)
ile_2 = tekst.count(szuk_2)
gdzie_2 = tekst.find(szuk_2)

print('Twój ciąg znaków liczy ' + str(len(tekst)) + ' znaków.')
print('Szukany znak: ' + szuk_1 + ' jest na pierwszej pozycji ' + str(gdzie_1) + ' -> ' + str(ile_1) + ' razy.')
print('Szukany znak: ' + szuk_2 + ' jest na pierwszej pozycji ' + str(gdzie_2) + ' -> ' + str(ile_2) + ' razy.')




Powinieneś umieć: