Простой поиск и замена в Python с использованием рекурсии и пользовательского ввода - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть эта простая программа, которая принимает ввод слова, спрашивает пользователя, какую часть он хотел бы извлечь, а затем спрашивает, чем его заменить, и, наконец, выводит результат.Но мне нужно преобразовать его в рекурсивную работу.

Я создал его в базовом смысле, работая здесь на Python.

word = input("Enter a word: ")
substring = input("Please enter the substring you wish to find: ")
new_entry = input("Please enter a string to replace the given substring: ")
new_word = word.replace(substring, new_entry)
print("Your new string is: " + new_word)

Он должен работать рекурсивно и отображать:

Enter a word: world
Please enter the substring you wish to find: or
Please enter a string to replace the given substring PP
Your new string: is wPPld 

Справка будет очень полезнойоценили.

1 Ответ

0 голосов
/ 18 февраля 2019

Вы можете использовать цикл while, но вам нужно определить стоп-слово, чтобы найти выход.В этом примере я определил стоп-слово как quit:

word = ''
while (word != 'quit'):
    word = input("Enter a word: ")
    substring = input("Please enter the substring you wish to find: ")
    new_entry = input("Please enter a string to replace the given substring: ")
    new_word = word.replace(substring, new_entry)
    print("Your new string is: " + new_word)

Я думаю, что это то, что вы хотите, но учтите, что это , а не рекурсия .

РЕДАКТИРОВАТЬ: версия кода с использованием рекурсии с тем же стоп-словом:

def str_replace_interface():
    word = input("Enter a word: ")
    if word != 'quit':
        substring = input("Please enter the substring you wish to find: ")
        new_entry = input("Please enter a string to replace the given substring: ")
        new_word = word.replace(substring, new_entry)
        print("Your new string is: " + new_word)
        str_replace_interface()

str_replace_interface()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...