n = int(input("4-х значное число"))
n1 = n%100
n = n/100
n2 = 0
print(n1)
while n1 > 0:
digit = n1 % 10; # находим остаток - последнюю цифру числа
n1 = n1 // 10; # делим нацело - убираем из числа последнюю цифру
n2 = n2 * 10 # увеличиваем разрядность второго числа
n2 = n2 + digit # добавляем очередную цифру
if(int(n) == n2):
print("палиндром")
else:
print("не палиндром")
Поделитесь своими знаниями, ответьте на вопрос:
Пользователь вводит четырехзначное число .проверить является ли оно числом палиндромом. 1441, 5555 7117
для ввода числа с клавиатуры будем использовать переменную n. вводимое число принадлежит множеству натуральных чисел и четырехзначно, поэтому оно заведомо больше 255, так что тип byte для ее описания нам не подходит. тогда будем использовать тип word.
какими же свойствами числа-палиндромы? из указанных примеров легко увидеть, что в силу своей одинаковой «читаемости» с двух сторон в них равны первый и последний разряд, второй и предпоследний и т. д. вплоть до середины. причем если в числе нечетное количество разрядов, то серединную цифру можно не учитывать при проверке, так как при выполнении названного правила число является палиндромом вне зависимости от ее значения.
в нашей же все даже несколько проще, так как на вход подается четырехзначное число. а это означает, что для решения нам нужно лишь сравнить 1-ю цифру числа с 4-й и 2-ю цифру с 3-ей. если выполняются оба эти равенства, то число – палиндром. остается только получить соответствующие разряды числа в отдельных переменных, а затем, используя условный оператор, проверить выполнение обоих равенств с булевского (логического) выражения.