Неправильный палиндром.
написать программу на паскаль/питон. я на над ней уже 10 часов сижу)

палиндромом называется слово, которое читается одинаково как справа налево, так и слева направо, например в .языке такими словами являются "radar" и "racecar".
света изучает .яз и решила принять участие в дистанционном конкурсе знатоков .языка. но, когда она писала ответ на "найдите самое длинное слово, которое является палиндромом" , ошиблась и нажала на клавиатуре одну лишнюю клавишу.
определите какую букву нужно удалить в набранном светой слове, чтобы это слово стало палиндромом.
программа получает на вход строку из строчных букв, содержащую не менее 2 и не более 100 000 символов.
программа должна вывести единственное число- номер буквы в строке, при удалении которой строка становится палиндромом. если при удалении любой буквы слово не станет палиндромом , программа должна вывести число 0.
примеры входных и выходных данных.
ввод: "racecar" вывод: 6
ввод: "car" вывод: 0.

Alya9let Alya9let    1   22.10.2019 22:01    29

Ответы
chhfyf chhfyf  10.10.2020 08:53

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. оптимизация может быть не очень

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика