fadxo20 Ответов: 1

Рекурсивная функция Python


want to return recursive function named find(text,substring) that will return the substring if the substring is inside the text. or return an empty string if substring is not inside the text. supposed to define a function named is_string_there(text, string) to test the find function. the function should return True if the string is inside the text or False if the string is not inside the text.



результат, которого я хочу достичь:
истинный
ложный

Что я уже пробовал:

<pre>def find(text, substring):
  if substring == is_string_there: # compare them first
        return is_string_there
    else:
        return  # how do i return empty
  
def is_string_there(text, string):

      
print(is_string_there("I love DSAG", "DSAG"))
print(is_string_there("I love Python", "DSAG"))

Richard MacCutchan

Рекурсия не имеет смысла для такого простого теста, как этот.

fadxo20

def find(текст, подстрока):
если substring == is_string_there: # сначала сравните их
вернуться is_string_there
еще:
return # как мне вернуться пустым

def is_string_there(текст, строка):
если найти(текст, строка):
вернуть true
еще:
возвращать false

print(is_string_there("я люблю DSAG", "DSAG"))
print(is_string_there("я люблю Python", "DSAG"))

я попробовал запустить это
но ошибка была
ложь, ложь. не тот результат, который мне нужен

1 Ответов

Рейтинг:
2

CPallini

То есть_string_there должно быть что-то вроде:

def is_string_there(text, string):
  if find(text, string):
    return True
  else:
    return False

и find должен быть рекурсивным, например
def find(text, string):
  # stop condition here
  # call the function itself here, e.g. find(text[1:], string)