Задача: Палиндром

Опубликован: 19.09.2024 36

Условие: напишите программу, которая проверит, является ли строка палиндромом.

Палиндромом называется строка, которая пишется одинаково слева направо и справа налево. При определении «палиндромности» строки должны учитываться только буквы и цифры, а пробелы, знаки препинания, регистр символов должны игнорироваться.

Решение:

import string


def is_palindrome(s: str):
    prepared_str = s.lower().replace(' ', '')   # преобразуем строку к нижнему регистру и убираем пробелы
    for ch in string.punctuation:                 # убираем из строки знаки пунктуации
        prepared_str = prepared_str.replace(ch, '')
    return prepared_str == prepared_str[::-1]


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

if is_palindrome(s):
    print(f"Строка ({s}) является ПАЛИНДРОМОМ !")
else:
    print(f"Эта строка ({s}) НЕ палиндром !")


# Введите строку: "A dog! A panic in a pagoda!"
# Строка (A dog! A panic in a pagoda!) является ПАЛИНДРОМОМ !

# Введите строку: "Коту скоро сорок суток"
# Строка (Коту скоро сорок суток) является ПАЛИНДРОМОМ !

# Введите строку: "А роза упала на лапу Азора"
# Строка (А роза упала на лапу Азора) является ПАЛИНДРОМОМ !

Похожие посты

Задача: Решение квадратного уравнения

Задача: Тренажер таблицы умножения

Задача: Наибольший числовой палиндром

Задача: Разложение числа на простые множители

Комментариев нет.