Программа является ли слово палиндромом

Задача: По данной строке определите, является ли она палиндромом (то есть верно ли, что она одинаково читается слева направо и справа налево) Ввод На вход подается строка без пробелов. Длина строки не превышает 200. Буквы разного регистра считаются различными. Вывод Необходимо вывести yes, если строка является палиндромом, и no в противном случае. Пример: abba yes qwerq no

slovo = str(input()) x = len(slovo) i = 0 x = x — 1 k = 0 while x — i >= i: if slovo[x — i] == slovo[i]: i += 1 else: k = 1 break if k == 1: print(«no») else: print(«yes»)

Неправильный ответ на 6 тесте. Я и понятие не имею какое слово это может быть. Кто-то может придумает? UPD: Тесты — это проверка моего кода на сайте. Программа подставляет в мой код разные слова и проверяет правильность моего решения. 5 слов — правильно. 6 тест — нет.

Я не могу придумать такое слово и не знаю какое слово подставляла в этом тесте программа.

Источник: ru.stackoverflow.com

Решаем задачи с собеседований по JS. Палиндром

Является ли строка палиндром?

Палиндром – это число, слово или фраза, одинаково читающиеся в обоих направления.

Алгоритм решения задачи:

  1. Брать очередной символ с начала строки и сравнивать его с противоположным.
  1. Если символы не равны, то выдать сообщение «не палиндром», изменить значение флага и остановить сравнение.

Программа на языке Паскаль:

var s: string; f: boolean; len, i: byte; begin write(‘Строка: ‘); readln(s); len := length(s); f := True; for i := 1 to len div 2 do if s[i] <> s[len-i+1] then begin f := False; break; end; if f = True then writeln(‘Палиндром’) else writeln(‘Не палиндром’); end.
Строка: banana Не палиндром
Строка: banab Палиндром

Другой вариант решения задачи — перезаписать символы строки в обратном порядке в другую строку и сравнить строки. Если они окажутся равными, значит перед нами палиндром.

Читайте также:
Что такое программа континент ап

var s, s1: string; i: integer; begin readln(s); s1 := »; for i := length(s) downto 1 do s1 := s1 + s[i]; if s = s1 then writeln(‘Палиндром’) else writeln(‘Не палиндром’); end.

Источник: pas1.ru

Проверка: является ли строка палиндромом?

Условие задачи: Дана строка, необходимо написать функцию, которая проверит является ли строка палиндромом или нет. Палиндром – это число, слово или фраза, одинаково читающиеся в обоих направления.

Например слово ‘radar’ ‘радар’.

Метод 1:

Найдем обратную строку с помощью метода reverse, затем сравним обратную строку с исходной

# возвращает обратную строку def reverse(s): return s[::-1] def is_palindrome(s): rev = reverse(s) # проверка на совпадение 2х строк if (s == rev): return True return False # запуск кода s = «malayalam» ans = is_palindrome(s) >>>True

Метод 2: Итеративный метод. Начать цикл с length/2 и проверять первый и последний элемент, второй и предпоследний и т.д. Если хоть что-то не совпадает, следовательно это не полиндром.

Решение простых задач на python | Является ли строка палиндромной


def isPalindrome(str): # Run loop from 0 to len/2 for i in xrange(0, len(str)/2): if str[i] != str[len(str)-i-1]: return False return True s = «malayalam» ans = isPalindrome(s) >>> True

Метод 3: Использование встроеной функции для реверса строки.

Просто посмотрите код.

def isPalindrome(s): # Используем встроенную функцию rev = ».join(reversed(s)) # Проверяем строки на равенство if (s == rev): return True return False s = «malayalam» ans = isPalindrome(s) True

3 способа в вашу копилку питониста.

Если вы нашли ошибку в коде, пишите в комментариях.

Источник: pythonist.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru