Вопрос Программирование на python

Регистрация
26 Авг 2013
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
Напишите рекурсивную функцию remove_f, которая принимает на вход один аргумент - string, строку, из которой нужно удалить все буквы ’f’ и создает новую строку, без этих символов.
 
def remove_f(s):
if 'f' not in s:
return s
return remove_f(s[:s.find('f')]+s[s.find('f')+1:])
 
А примера работы нету? Если есть, то приложи, а то напишу чего-нибудь не того
 
Держи удаление букв: def remove_f(s):
p = s.find('f')
return s[:p] + remove_f(s[p+1:]) if p >= 0 else s

print(remove_f(input())) Вот у вас преподаватели заморочились на этой рекурсии. Питон - не функциональный язык, в нём рекурсия не поощряется. 1000 вызовов - и привет стеку...
 
def remove_f(string):
if not string:
return ""

if string[0] == "f":
return remove_f(string[1:])
else:
return string[0] + remove_f(string[1:])
 
Назад
Сверху