# ucitati fajl u promenljivu # podelimo taj tekst u reci # napravimo recnik koji ce cuvati (brojac) broj ponavljanja svake reci u tekstu # # proci cemo kroz sve reci # ako smo vec videli tu rec # povecamo brojac za tu rec # ako je to nova rec # namestimo brojac za tu rec na 1 fajl = open("romeo and juliet.txt") tekst = fajl.read() fajl.close() tekst = tekst.replace("."," ") # zamenjujemo tacke za razmake (efekivno izbacujemo tacke iz teksta) tekst = tekst.replace("!"," ") # zamenjujemo uzvicnike za razmake tekst = tekst.replace("?"," ") # zamenjujemo upitnike za razmake tekst = tekst.replace("\""," ") # zamenjujemo navodnike za razmake tekst = tekst.replace("-"," ") # zamenjujemo crtice za razmake tekst = tekst.replace(","," ") # zamenjujemo zareze za razmake # tekst = tekst.replace("\n"," ") # zamenjujemo znakove za novi red za razmake (ovo u nasem slucaju nije neophodno) reci = tekst.split() # delimo tekst u reci (delimo ga tako sto svaki put kada naidjemo na razmak # pravimo novu rec tabela = {} # kreiramo recnik koji ce cuvati gorepomenute brojace for rec in reci: if rec not in tabela: # ako rec nije u tabeli, tj. ako nismo videli rec pre toga tabela[rec] = 1 else: # u suprotnom rec je vec u tabeli, tj. rec smo vec videli tabela[rec] += 1 #print(tabela) # mozemo ispisati celu tabelu print("Romeo se pominje", tabela["Romeo"], "puta") print("Julija se pominje", tabela["Juliet"], "puta") if tabela["Romeo"]>tabela["Juliet"]: print("Romeo se pominje vise puta od Julije") else: print("Julija se pominje vise puta od Romea") # mozemo i da sortiramo reci da bi videli koje se najvise ponavljaju (ovo je malo komplikovaniji primer) sortirane_reci = sorted(tabela.items(), key=lambda x: x[1], reverse=True) # ispismo 20 najucestalijih reci for i in range(20): print(sortirane_reci[i][0],"=>", sortirane_reci[i][1])