• Предмет: Информатика
  • Автор: MEGASUPER1337
  • Вопрос задан 5 месяцев назад

Задание 2 ( Сделать на Python ) Даю 20 баллов
Пользователь вводит с клавиатуры строку. Проверьте является ли
введенная строка палиндромом.
Палиндром — слово или текст, которое читается одинаково слева
направо и справа налево.
Например:
кок;
А роза упала на лапу Азора;
доход;
А буду я у дуба.

Ответы

Ответ дал: artenevo
0

Ответ:

Вы можете использовать следующий код на Python, чтобы проверить, является ли введенная строка палиндромом:

string = input("Введите строку: ")

# удаляем пробелы из строки

string = string.replace(" ", "")

# реверсируем строку

reversed_string = string[::-1]

# сравниваем строку с реверсированной строкой

if string == reversed_string:

   print("Строка является палиндромом")

else:

   print("Строка не является палиндромом")


В этом коде мы сначала запрашиваем у пользователя ввод строки, затем удаляем пробелы из строки с помощью метода replace(), реверсируем строку с помощью среза [::-1] и, наконец, сравниваем строку с реверсированной строкой. Если строки совпадают, мы выводим сообщение, что строка является палиндромом, в противном случае мы выводим сообщение, что строка не является палиндромом.

Объяснение:


p15: И почему А роза упала на лапу Азора не палиндром согласно вашей проге? :)
p15: А роза упала на лапу Азора не палиндром?
artenevo: В коде, который я предложил, мы удаляем пробелы из строки с помощью метода replace() перед тем, как реверсировать строку. Это означает, что все пробелы в строке будут удалены, а строка будет рассматриваться как одно слово. Поэтому строка "А роза упала на лапу Азора" не является палиндромом согласно этому коду, так как реверсированная строка будет выглядеть так: "АрозаупаланалапуАзора", которая не совпадает с исходной строкой.
Ответ дал: p15
0

Ответ:

string = input("Введите строку: ")

R=[" ",",",".",":"]

for x in R:

  string = string.replace(x, "")

string = string.upper()

rs = ''.join(reversed(string))

print("Строка - палиндром") if string == rs else print("Строка - не палиндром")

 

Объяснение:

В R можно добавить все символы, что нужно предварительно удалить (пробелы, запятые и т.д.)

Затем все переводится в один регистр (Иначе Кок не палиндром)

Потом переворачивается и сравнивается.


artenevo: В коде, который я предложил, мы удаляем пробелы из строки с помощью метода replace() перед тем, как реверсировать строку. Это означает, что все пробелы в строке будут удалены, а строка будет рассматриваться как одно слово. Поэтому строка "А роза упала на лапу Азора" не является палиндромом согласно этому коду, так как реверсированная строка будет выглядеть так: "АрозаупаланалапуАзора", которая не совпадает с исходной строкой.
p15: Я это понимаю, а теперь и вы это понимаете и стоит переписать код.
p15: И реверсированная строка будет выглядеть по-другому. Это строка до реверсии
Вас заинтересует