class FWlist: def __init__(self,pikkus): self.MITU = pikkus # mitu arvu on puu alumises reas self.puu = [0] * (2*self.MITU) # teised on ülemisteks harudeks def uuendaPuud(self,n): if n != 0: self.puu[n] = self.puu[2*n] + self.puu[2*n+1] vanem = n // 2 self.uuendaPuud(vanem) def __setitem__(self,koht,uus): koht_puus = self.MITU + koht self.puu[koht_puus] = uus vanem = koht_puus // 2 self.uuendaPuud(vanem) def __getitem__(self,koht): koht_puus = self.MITU + koht return self.puu[koht_puus] def __repr__(): n=1 while n <= self.MITU: print (self.puu[n:2*n]) n = 2*n def sum(self): return self.puu[1] F = FWlist(8) F[0] = 4 F[5] = -5 print (F.sum())