diff --git a/second.py b/second.py new file mode 100644 index 0000000..bf010e6 --- /dev/null +++ b/second.py @@ -0,0 +1,15 @@ +#Дадена е стълба с N >= 2 стъпала. Стоим в началото на стълбата и можем да качим 1 или 2 стъпала наведнъж. +#Да се напише функция, `num_ways` която по подадено N връща броя на начини по които можем да изкачим +#стълбата - т.е. да стъпим на N-тото стъпало. +#task 2 + +def num_ways(steps): + if steps <= 2: + return steps + else: + return num_ways(steps-1) + num_ways(steps-2) + +steps = 3 +print(num_ways(steps)) + + diff --git a/third.py b/third.py new file mode 100644 index 0000000..f98adf7 --- /dev/null +++ b/third.py @@ -0,0 +1,21 @@ +#Даден е Python списък от елементи - низове, числа, списъци (вкл. като този), наредени н-торки. +#Да се напише функция `replace` с 3 аргумента - `list`, `find`, `replace`, където list e писък от типа по-горе, +#a find и replace са низове. Функцията връща нова версия на `list` в която всяко срещане на `find` e заменено с `replace`. +#task 3 + +def replace(list, find, replace1): + new_list = [] + ch = 0 + for i in list: + if i == find: + list[ch] = replace1 + if type(i) != int: + if len(i) > 1: + new_list = list[ch] + replace(new_list,find,replace1) + ch = ch + 1 + return list + +list = ['a',1,[['a','b'],1],([1,3,'a'],'b')] +res = replace(list,'a','c') +print(res) # => ['c',1,[['c','b'],1],([1,3,'c'],'b')]