diff --git a/homeworks/21_Martin_Zlatanov/02_list_replace.py b/homeworks/21_Martin_Zlatanov/02_list_replace.py new file mode 100644 index 0000000..b3b54d1 --- /dev/null +++ b/homeworks/21_Martin_Zlatanov/02_list_replace.py @@ -0,0 +1,20 @@ +def replace(l, find, replacer): + try: + l = l.copy() + for i, item in enumerate(l): + if item == find: + l[i] = replacer + continue + elif type(l[i]) is tuple: + l[i] = list(l[i]) + for i, item in enumerate(l): + if item == find: + l[i] = replacer + l[i] = replace(item, find, replacer) + finally: + return l + + +l = [ 'a', 1, [ ['a', 'b'], 1], ([1, 3, 'a'], 'b')] +res = replace(l, 'a', 'c') +print(res) \ No newline at end of file diff --git a/homeworks/21_Martin_Zlatanov/02_stairs_num_ways.py b/homeworks/21_Martin_Zlatanov/02_stairs_num_ways.py new file mode 100644 index 0000000..2f8950f --- /dev/null +++ b/homeworks/21_Martin_Zlatanov/02_stairs_num_ways.py @@ -0,0 +1,17 @@ +def fibonacci(i): + if i == 1 or i == 2: + return i + return fibonacci(i-1) + fibonacci(i-2) + + +def num_ways(N): + if N <= 1: + return "Error" + elif N == 2: + return N + return fibonacci(N) + + +print(num_ways(3)) +print(num_ways(4)) +print(num_ways(0))