Почему мой код возвращает False при использовании грубой силы для поиска самой длинной подстроки палиндрома? [закрыто]Python

Программы на Python
Ответить
Anonymous
 Почему мой код возвращает False при использовании грубой силы для поиска самой длинной подстроки палиндрома? [закрыто]

Сообщение Anonymous »

При переборе списка s возвращается False без ошибки:

Код: Выделить всё

def longest_palindrome(s):
return s == s[::-1]

def find_palindromes_bruteforce(input_word):
palindromes = []
n = len(input_word)
for i in range(n):
for j in range(i + 1, n):
if longest_palindrome(input_word[i:j + 1]):
palindromes.append(input_word[i:j + 1])
return palindromes

s = "babad"
print(longest_palindrome(s))
Терминал показывает:

Код: Выделить всё

/usr/local/bin/python3.12 /Users/jaredmccarthy/Desktop/2025/ejercicios_leetcode.py
False

Process finished with exit code 0

Код: Выделить всё

longest_palindrome(word)
должен проверять, является ли слово палиндромом, сравнивая его обратную сторону. Затем find_palindromes_bruteforce(input_word) перебирает возможные слова и возвращает список найденных слов. Я жду, пока код вернет это слово (

Код: Выделить всё

s = "babad"
должен вернуть s = "bab"). Почему этого не происходит?


Подробнее здесь: https://stackoverflow.com/questions/797 ... st-palindr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»