Программа палиндрома на Python
Палиндром в Python – это число или буква, которые остаются неизменными, даже если число и буквы перевернуты.
121, 11, 414, 1221, 74747 – числа палиндрома.
MOM, DAD, MADAM, REFER – это буквы палиндрома.
JAVATPOINT, PROGRAM, JAVA – это не буквы палиндрома.
Алгоритм палиндрома
- Прочтите цифру или букву.
- Сохраните букву или цифру во временной переменной.
- Переверните букву или цифру.
- Сравните временную переменную с обратной буквой или цифрой.
- Если обе буквы или цифры совпадают, выведите «эта строка / число является палиндромом».
- Иначе напишите «эта строка / число не является палиндромом».
Примеры программ палиндрома на Python:
Программа 1: строка палиндрома
str = 'JaVaJ' str = str.casefold() # This string is reverse. rev = reversed(str) if list(str) == list(rev): print("PALINDROME !") else: print("NOT PALINDROME !")
PALINDROME !
Программа 2: строчная программа палиндрома
string=input(("Enter a letter:")) if(string==string[::-1]): print("The letter is a palindrome") else: print("The letter is not a palindrome")
Enter a letter: javatpoint The letter is not a palindrome Enter a letter: MADAM The letter is a palindrome
Программа 3: числовая программа-палиндром с использованием цикла while
Num = int(input("Enter a value:")) Temp = num Rev = 0 while(num > 0): dig = num % 10 rev = rev * 10 + dig num = num // 10 if(temp == rev): print("This value is a palindrome number!") else: print("This value is not a palindrome number!")
Enter the value: 2551 This value is not a palindrome number! Enter the value: 1221 This value is a palindrome number!
Как проверить, является ли число палиндромом? [закрыт]
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме.
Закрыт 2 года назад .
Необходимо написать функцию с одним параметром, которая проверяла бы, является ли введенное число палиндромом. если является, программа должна вернуть True, а если нет — False (не строкой, а типом boolean)
Отслеживать
задан 5 фев 2021 в 20:23
45 1 1 серебряный знак 8 8 бронзовых знаков
дубликатов — вагон: ru.stackoverflow.com/search?q=[python]+палиндром
6 фев 2021 в 7:13
@aleksandrbarakin тем не менее, именно этого вопроса нет, а специфика задачи требует задать именно этот вопрос
6 фев 2021 в 8:24
«именно этот вопрос» является составным и его следует декомпозировать в два: 1. как преобразовать число в строку. 2. как определить, что строка является палиндромом.
6 фев 2021 в 8:26
@aleksandrbarakin моя цель-понять, является ли число палиндромом. Мне не известно, как это сделать, поэтому я не стал задавать вопрос по преобразование в строку
6 фев 2021 в 8:30
палиндромом/непалиндромом может являться только текстовое представления числа в заранее оговоренной системе счисления. да, конечно, вы этого можете не знать. ну что же, повышайте уровень своих знаний. удачи! дальнейшую дискуссию поддерживать не собираюсь.
Как определить является ли строка палиндромом python
Решить эту задачу можно многими способами, приведу самый простой — можно сравнить строку с перевернутой.
def is_palindrome(text): return text == text[::-1] is_palindrome('abb') # False is_palindrome('abba') # True
Zlomorda

Палиндром — число, буквосочетание, слово или текст, одинаково читающееся в обоих направлениях. Например, число 101; слова «топот» в русском языке и фин. saippuakivikauppias (продавец мыла; торговец щёлоком) — самое длинное слово-палиндром в мире; текст «а роза упала на лапу Азора» и пр. — это с википедии. А мы это дело реализуем на Питоне в две строки.
Когда-то я учил язык С, и мне как-то было не по себе когда я видел вот такое:
Говорят что на С++ это выглядит вот так:
#include using namespace std; int main() < int n, num, digit, rev = 0; cout > num; n = num; do < digit = num % 10; rev = (rev * 10) + digit; num = num / 10; >while (num != 0); cout
Да и на Java не проще:
Всё это решение одной задачи на разных языках. И на это чертовски страшно смотреть. Теперь посмотрим, что нам предлагает Питон.
Сразу применим небольшою хитрость. Число, которое мы хотим проверить, будет вводится как строка:
num = str(1232)
Затем мы его просто переворачиваем и даём ему новое имя:
num_test = num[::-1]
Теперь осталось только сравнить:
if num == num_test: print(«Is a palindrome») else: print(«Is NOT a palindrome»)
Полный код:
num = str(1232) num_test = num[::-1] if num == num_test: print(«Is a palindrome») else: print(«Is NOT a palindrome»)
А теперь тоже самое запишем в две строки:
num_test = int(str(num)[::-1]) print((«Is NOT a palindrome», «Is a palindrome»)[num == num_test])
Строка 1 — вводимое число преобразуется в строку, переворачивается, заново преобразуется в строку и ему приписывается новое имя.