У меня есть назначение Python, которое хочет, чтобы я написал программу, которая находит самый длинный палиндром в заданном тексте. Я знаю, что есть примеры этой функции на других языках на этом веб-сайте, но я новичок в Python, и у меня проблемы с написанием кода.Самый длинный палиндром в Python
Это, как я в настоящее время определения палиндромов:
def is_palindrome(word):
x = 0
for i in range (len(word)/2):
if (word[x]) == (word[len(word)-x-1]):
x+=1
if x == (len(word)/2):
return True
return False
Это, кажется, самая длинная общая проблема подпоследовательности для входов '' text'' и '' обращенно (текст) ''. LCS хорошо изучен и существует множество реализаций на многих языках, включая Python (например, [this] (http://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Longest_common_subsequence#Python)). Если по палиндрому вы имеете в виду отдельное слово, а не фрагмент текста. – fjarri
@fjarri Да, я думаю, что этот вопрос на самом деле не такой сложный, как проблема LCS, кажется, что он основан на словах, хотя более подробная информация из OP о примере ввода поможет сделать это более понятным. – Marius
'max ((слово в слово в text.lower(). Split(), если слово [:: - 1] == word), key = len)' – wim