






















































Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
Pripremite ispite
Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Nabavite poene za preuzimanje
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
ETF Beograd::Programiranje 1. Kolekcije. Uređene. (sekvence). Stringovi. Liste. Torke. Neuređene. Skupovi. Rečnici. Nepromenljivi. Promenljivi ...
Tipologija: Slajdovi
1 / 62
Ova stranica nije vidljiva u pregledu
Ne propustite važne delove!























































Tekstualne sekvence predstavljaju tekstualni objekat tipa str Moguće je kreirati ga dodelom vrednosti Tekst u istom redu okružuje se apostrofima ili navodnicima Tekst u više redova se okružuje trostrukim apostrofima ili navodnicima Može se kreirati i konstruktorom str() Na primer str(3.14) daje '3.14', a str(True)daje 'True'
⚫ Binarna reprezentacija zavisi od sistema kodiranja
⚫ Sadrži 128 znakova ⚫ Prošireni ASCII kodira sa 8 bita, odnosno sadrži 256 znakova
⚫ Standard određuje skup znakova koji se koriste i bazično ih numeriše 16-bitno
⚫ Svaki karakter predstavlja sa 8 do 32 bita
>>> ord('A') 65 >>> chr(65) 'A' >>> ord(' ч ') 1095 >>> chr(1096) ' Ш ' >> len("Alfanumerik") 11 Važi: ord(chr(broj)) == broj chr(ord(znak) == znak
⚫ Dozvoljen slicing
IndexError: string index out of range
Delovi stringa – slicing (negativan korak) a[:] # ceo string a[start:stop:step] # sa korakom step a[-1] # poslednji element a[-2:] # poslednja dva a[::-1] # svi, obrnuto a[1::-1] # prva dva, obrnuto a[:-3:-1] # poslednja dva, obrnuto a[-3::-1] # sve sem poslednja 2,
a[:-2] # sve sem poslednja 2
Na dva stringa moguće je primeniti relacione operatore ⚫ == i != porede stringove znak po znak ⚫ >, <, >=, <= koriste leksikografski poredak: redom poredi odgovarajuće znakove iz dve sekvence po rezultatu metode ord(znak) ⚫ Ukoliko su znaci jednaki, a u sledećem koraku se jedan string iscrpi, on je manji >>> print ("a"<"b","aaa"<"b","aa"<"aab") True True True
Postoji i operator not in >>> poruka = " Srećna Nova godina! " >>> print ("Z" not in poruka) True Nadovezivanje korišćenjem operatora +=: >>> zdravica += poruka >>> print (zdravica) Živeli!!!!! Srećna Nova godina! Prefiks r služi da se escape sekvenca doslovno tumači kao tekst ⚫ Bez r je \n specijalna sekvenca za prelazak u novi red >>> print(r"\n") \n
Neophodno je naglasiti da je string nepromenljiv tip! >>> niz = "Babe" >>> niz[0] = " Ž "
TypeError: 'str' object does not support item >>> id(niz) 1630486115312 >>> niz+=" i žabe " >>> id(niz) 1630486144176
Različiti objekti!
Metoda Opis t.find(t1) t.rfind(t1) Vraća indeks prvog pojavljivanja podstringa t1 u t. Vraća - 1 ako ga nema u t. Prefiks r – poslednje pojavljivanje. t.startswith(t1) t.endswith(t1) Vraća True ukoliko string t počinje prefiksom t1. Vraća True ukoliko se string t završava prefiksom t1. t.replace(ts,tp) (^) Vraća novi tekst sa zamenjenim ts sa tp t.join(iterable) Vraća string koji konkatenira elemente iz iterable sa separatorom t ("-".join("123") daje 1 - 2 - 3 t.split([sep]) Vraća listu reči na osnovu delimitera sep. t.partition(sep) Vraća 3 - tuple gde je prva komponenta string pre sep, druga sam sep, a treća string iza sep. Ako ne nađe sep, prva je ceo string, a druga i treća su prazne.
Pronalaženje svih palindroma u stringu Najpre je data iterativna verzija: def palindromI(tekst): ''' da li je tekst palindorm ''' n = len(tekst) limit = n// for i in range(limit): if tekst[i] != tekst[-i-1]: return False return True
Primer korišćenja: tekst = input('tekst? ') n = len(tekst) for duzina in range(n, 0, - 1 ): for pocetak in range(0, n-duzina+1): podtekst = tekst[pocetak : pocetak+duzina] if palindromR(podtekst): print(podtekst)
Koristi se metoda format() string objekta Raspoređuje argumente na mestima vitičastih zagrada Redom ili po brojevima (indeksima) u zagradama Prvom argumentu odgovara redni broj 0 >>> '{} unija {}'.format('A', 'B') ’A unija B’ >>> 'pi = {}'.format(3.14) 'pi = 3.14' >>> '{2}-{1}-{0}'.format('I', 'II', 'III') 'III-II-I'