diff --git a/u2/list_ops.py b/u2/list_ops.py index e056b48..6283b1b 100644 --- a/u2/list_ops.py +++ b/u2/list_ops.py @@ -56,27 +56,41 @@ def map(function, seq): def foldl(function, seq, acc): - sum = 0 + if seq == []: + return acc for i in seq: - sum = acc + function(acc, i) - return sum + acc =function(acc, i) + return acc """Spracuje prvky zľava doprava. Akumulácia začína hodnotou acc a pri každom prvku sa použije volanie function(accumulator, element).""" pass def foldr(function, seq, acc): - sum = 0 - for i in reversed(seq): # reversed міняє індекси але не сам список діє лише на 1 крок - sum = acc + function(acc, i) - return sum + if seq == []: + return acc + a = 0 + for i in seq: + a += 1 + i = a + while i >=0: + acc = function(acc, seq[i]) + i -= 1 + return acc """Spracuje prvky sprava doľava. Akumulácia začína hodnotou acc a pri každom prvku sa použije volanie function(accumulator, element).""" pass def reverse(seq): - a = [] - for i in reversed(seq): - a.append(i) - return a + if seq == []: + return seq + a = 0 + for i in seq: + a += 1 + i = a + b = [] + while i >=0: + b.append(seq[i]) + i -= 1 + return b """Vráti nový zoznam s prvkami v opačnom poradí.""" pass \ No newline at end of file