Python Палиндром
Информатика

Python Палиндром. Имеется слово, состоящее только из заглавных и строчных латинских букв. Нужно проверить, является

Python Палиндром. Имеется слово, состоящее только из заглавных и строчных латинских букв. Нужно проверить, является ли это слово палиндромом, то есть читается ли оно одинаково как справа налево, так и слева направо, если не различать заглавные и строчные буквы. В случае если слово является палиндромом, вывести "YES", в противном случае вывести "NO". Задачу необходимо решить с помощью функции IsPalindrome(S), которая возвращает значение типа bool. При решении нельзя использовать массивы или строки.

Примеры:
Входные данные 1: Radar
Выходные данные: YES
Входные данные 2: YES
Выходные данные: NO
Верные ответы (1):
  • Собака
    Собака
    8
    Показать ответ
    Python Палиндром
    Описание: Для решения данной задачи нам понадобится функция IsPalindrome(S), которая будет принимать на вход строку S и возвращать значение типа bool (True или False). Мы должны проверить, является ли строка палиндромом, то есть читается ли она одинаково как справа налево, так и слева направо, игнорируя регистр.

    Чтобы решить задачу без использования массивов или строк, мы можем воспользоваться двумя указателями. Первый указатель будет указывать на первый символ строки, а второй указатель - на последний символ строки. Затем мы будем сравнивать символы, на которые указывают указатели, пока они не пересекутся.

    Если найдется пара символов, которые не совпадают, то строка не является палиндромом, и функция вернет False. Если указатели пересеклись, значит, все символы совпадают, и функция вернет True.

    Доп. материал:
    python
    def IsPalindrome(S):
    i = 0
    j = len(S) - 1

    while i < j:
    if S[i].lower() != S[j].lower():
    return False
    i += 1
    j -= 1

    return True

    word1 = "Radar"
    word2 = "YES"

    if IsPalindrome(word1):
    print("YES")
    else:
    print("NO")

    if IsPalindrome(word2):
    print("YES")
    else:
    print("NO")


    Совет: Чтобы лучше понять, как работает функция, вы можете использовать отладчик Python и пошагово пройти через код, выводя значения переменных на каждом шаге.

    Дополнительное задание: Напишите функцию IsPalindrome(S), которая будет принимать на вход строку S и возвращать True, если строка является палиндромом, и False в противном случае. Напишите тестовые случаи для проверки работы вашей функции.
Написать свой ответ: