9. Дано натуральное трёхзначное число n. Разработайте, отладьте и протестируйте программу, определяющую:
а) является ли данное число «перевёртышем», т. е. числом, десятичная запись которого читается одинаково слева направо и справа налево;
Входные данные
122
121
222
Выходные данные
Нет
Перевёртыш
Перевёртыш

б) есть ли среди цифр данного числа одинаковые.
Входные данные
123
121
222
Выходные данные
Нет
Да
Да

Протестируйте программу на приведённых входных данных.
Ответ
Вот пример программы на языке Python, которая определяет, является ли данное трехзначное число перевертышем и есть ли среди его цифр одинаковые:
def is_palindrome(n):
return str(n) == str(n)[::-1]
def has_duplicate_digits(n):
digits = [int(digit) for digit in str(n)]
return len(digits) != len(set(digits))
number = int(input("Введите трехзначное число: "))
if is_palindrome(number):
print("Перевертыш")
else:
print("Нет")
if has_duplicate_digits(number):
print("Да")
else:
print("Нет")
Программа сначала определяет две функции: is_palindrome, которая проверяет, является ли число перевертышем (сравнивая строковое представление числа с его перевернутым значением), и has_duplicate_digits, которая проверяет, есть ли среди цифр числа одинаковые (с помощью преобразования числа в строку, создания списка цифр и проверки длины списка и множества из цифр).
Затем программа запрашивает у пользователя трехзначное число и сохраняет его в переменную number.
Далее программа вызывает функции is_palindrome и has_duplicate_digits с аргументом number и выводит соответствующие сообщения о том, является ли число перевертышем или есть ли среди его цифр одинаковые.
Можно продемонстрировать работу программы с помощью тестовых данных:
Входные данные:
Число: 122
Выходные данные:
Нет
Да
Входные данные:
Число: 121
Выходные данные:
Перевёртыш
Да
Входные данные:
Число: 222
Выходные данные:
Перевёртыш
Да