sonad=["ma-jan-dus", "ma-te-maa-ti-ka", "ma-jan-da-ma", "pe-re", "maan-tee"] andmepuu={} for sona in sonad: puukoht=andmepuu for silp in sona.split("-"): if silp not in puukoht: puukoht[silp]={} puukoht=puukoht[silp] print(andmepuu) def tryki(haru, taane): for silp in sorted(haru, reverse=True, key=len): print(taane*" ", silp) tryki(haru[silp], taane+1) tryki(andmepuu, 0) #tryki(andmepuu["ma"]) def uuri1(haru): loendur=0 for silp in haru: loendur+=1 return loendur def uuri2(haru): loendur=0 for silp in haru: loendur+=1+uuri2(haru[silp]) return loendur print(uuri2(andmepuu)) print(uuri2(andmepuu["ma"]["te"])) def tryki2(haru, taane): for silp in haru: print(taane*" ", silp, uuri2(haru[silp])) tryki2(haru[silp], taane+1) tryki2(andmepuu, 0) #looge tryki ja uuri2 põhjal uus käsk, kus #kuvatakse andmepuu ning iga elemendi juures on näha, #kui palju on sel alamelemente