Неправильный палиндром.
написать программу на паскаль/питон. я на над ней уже 10 часов сижу)
палиндромом называется слово, которое читается одинаково как справа налево, так и слева направо, например в .языке такими словами являются "radar" и "racecar".
света изучает .яз и решила принять участие в дистанционном конкурсе знатоков .языка. но, когда она писала ответ на "найдите самое длинное слово, которое является палиндромом" , ошиблась и нажала на клавиатуре одну лишнюю клавишу.
определите какую букву нужно удалить в набранном светой слове, чтобы это слово стало палиндромом.
программа получает на вход строку из строчных букв, содержащую не менее 2 и не более 100 000 символов.
программа должна вывести единственное число- номер буквы в строке, при удалении которой строка становится палиндромом. если при удалении любой буквы слово не станет палиндромом , программа должна вывести число 0.
примеры входных и выходных данных.
ввод: "racecar" вывод: 6
ввод: "car" вывод: 0.
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. оптимизация может быть не очень