Неправильный палиндром.
Помогите пожалуйста написать программу на Паскаль/Питон. Я на над ней уже 10 часов сижу)
Палиндромом называется слово, которое читается одинаково как справа налево, так и слева направо, например в англ.языке такими словами являются "radar" и "racecar".
Света изучает англ.яз и решила принять участие в дистанционном конкурсе знатоков англ.языка. Но, когда она писала ответ на задание "найдите самое длинное слово, которое является палиндромом" , ошиблась и нажала на клавиатуре одну лишнюю клавишу.
Определите какую букву нужно удалить в набранном Светой слове, чтобы это слово стало палиндромом.
Программа получает на вход строку из строчных англ букв, содержащую не менее 2 и не более 100 000 символов.
Программа должна вывести единственное число- номер буквы в строке, при удалении которой строка становится палиндромом. Если при удалении любой буквы слово не станет палиндромом , программа должна вывести число 0.
Примеры входных и выходных данных.
Ввод: "racecar" Вывод: 6
Ввод: "car" вывод: 0.
Ответы на вопрос
Ответил radiation2033
8
Ответ:
text=input()
text_list=list(text)
reverse_list=list(text[::-1])
error=None
for i in range(0,len(text_list)):
try:
if(text_list[i]!=reverse_list[i] and error==None):
error=len(text)-i
del text_list[len(text)-i-1]
del reverse_list[i]
elif(text_list[i]!=reverse_list[i] and error!=None):
error=0
break
except IndexError:
pass
print(error)
Объяснение:
P.S. оптимизация может быть не очень
yullinka:
а как на паскаль?
Новые вопросы