Описание задачи
Программа принимает на вход число и определяет, является ли оно палиндромом.
Решение задачи
- Принимаем число и записываем его значение в переменную.
- Создаем еще одну переменную и помещаем в нее то же самое значение.
- Далее при помощи цикла while мы «переворачиваем» исходное число, то есть находим как оно пишется в обратном порядке. Мы уже решали такую задачу ранее.
- Далее сравниваем полученное число с сохраненной ранее копией первоначального числа. Если они равны, то исходное число — это палиндром.
- Выводим полученный результат на экран.
- Конец.
Исходный код
Ниже дан исходный код для проверки, является ли введенное число палиндромом. Результаты работы программы также даны ниже.
n = int(input("Введите число:")) temp = n rev = 0 while(n > 0): dig = n % 10 rev = rev * 10 + dig n = n // 10 if(temp == rev): print("Это палиндром!") else: print("Это не палиндром!")
Объяснение работы программы
- Пользователь вводит число и оно записывается в переменную
n
. - Затем это же число дублируется в переменную
temp
. - Далее при помощи уже разобранной нами процедуры число
n
записывается в обратном порядке и сохраняется в переменнойrev
. - Затем это число (находящееся в переменной
rev
) сравнивается с сохраненной нами ранее копией введенного числа (которая находится в переменнойtemp
). - Если эти числа равны, то исходное число является палиндромом.
- В противном случае оно палиндромом не является.
- В завершении мы выводим конечный результат на экран.
Результаты работы программы
Пример 1 Введите число:121 Это палиндром! Пример 2 Введите число:567 Это не палиндром!
Примечание переводчика
Как и в прошлом примере, при помощи методов строк эту задачу можно решить гораздо короче. Предоставим читателям самим это сделать.