Мне нужно рекурсивно заменить символы в строке новыми символами. Однако я немного застрял. Я ничего не могу импортировать, поэтому вот мой код:Рекурсия строки Python
EDIT: Я забыл упомянуть, что мне не разрешено использовать какие-либо встроенные функции, кроме операторов len() и index/splice. Это означает, что я не могу использовать «in». Это вопрос домашней работы, но я не ожидаю, что вы, ребята, решите его для меня, просто чтобы указать, почему мой код не работает. Благодаря!
def replace_char(astr, old_char, new_char):
newstr = ""
if astr == "":
return newstr
elif astr[0] == old_char:
newstr += new_char
return replace_char(astr[1:], old_char, new_char)
else:
newstr += astr[0]
return replace_char(astr[1:], old_char, new_char)
Любые идеи о том, почему он не работает? Благодаря!
вы сделаете NewString пустой каждый раз вы называете это ..., но тогда вы пытаетесь добавить к нему ... –
возможно дубликат [Изменить один символ в строке в Python?] (HTTP: //stackoverflow.com/questions/1228299/change-one-character-in-a-string-in-python) –