2
0
Fork 0
python-radionica/sekspir.py

54 lines
1.9 KiB
Python

# 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])