diff --git a/homeworks/03_Alex_Gechovski/Recursion2zad.py b/homeworks/03_Alex_Gechovski/Recursion2zad.py new file mode 100644 index 0000000..01c2a38 --- /dev/null +++ b/homeworks/03_Alex_Gechovski/Recursion2zad.py @@ -0,0 +1,16 @@ + +ways = 0 + +def num_ways(steps): + + if steps == 0: + global ways + ways = ways +1 + return + + num_ways(steps - 1) + if steps > 1: + num_ways(steps - 2) + +num_ways(9) +print(ways) diff --git a/homeworks/03_Alex_Gechovski/Recursion3zad.py b/homeworks/03_Alex_Gechovski/Recursion3zad.py new file mode 100644 index 0000000..cd5e08d --- /dev/null +++ b/homeworks/03_Alex_Gechovski/Recursion3zad.py @@ -0,0 +1,19 @@ +def replace_1(list_1,find,replace): + + if not isinstance(list_1,list) and not isinstance(list_1,tuple): + return + + for i,value in enumerate(list_1): + if value == find: + + list_1[i] = replace + elif isinstance(list_1, list) or isinstance(list_1,tuple): + + replace_1(value,find,replace) + + + +list_1 = [ 'a', 1, [ ['a', 'b'], 1], ([1, 3, 'a'], 'b')] +replace_1(list_1, 'a', 'c') +print(list_1) # => [ 'c', 1, [ ['c', 'b'], 1], ([1, 3, 'c'], 'b')] +