def asenda(symbol): if symbol in "aeiouõäöü": return "t" if symbol in "gbdkpt": return "s" if symbol in "hjs": return "h" if symbol in "lmnrv": return "e" if symbol in "cfqxyz": return "v" if symbol in " -\t": return "_" if symbol in "0123456789": return "5" return "?" #tekst="13 tassi + sinised sokid?" tekst=open("ipsum.txt").read() uuritav="".join([asenda(taht) for taht in tekst]) jadapikkus=4 jadad=[uuritav[arv:arv+jadapikkus] for arv in range(len(uuritav)-(jadapikkus-1))] #paigutage saadud jadade tähed puusse koos sagedustega, kuvage #Koostage sarnased puud ka pikema (>3lk) teksti võrdlemiseks puu={"kogus":0} for jada in jadad: puu["kogus"]+=1 plokk=puu for taht in jada: if taht in plokk: plokk[taht]["kogus"]+=1 else: plokk[taht]={"kogus":1} plokk=plokk[taht] def kuva(plokk, taane=0): for paar in sorted(([plokk[silp]["kogus"], silp] for silp in plokk if not silp=="kogus"), reverse=True): if paar[0]>500: print(taane*"\t", paar[1], '_', paar[0], sep="") kuva(plokk[paar[1]], taane+1) kuva(puu)