Перевернуть число

Вводится целое число. Вывести число, обратное введенному по порядку составляющих его цифр. Например, введено 3425, надо вывести 5243.

Алгоритм:

  1. Найдем остаток от деления на 10 исходного числа. Тем самым получим последнюю его цифру.
  2. Добавим эту цифру к новому числу.
  3. Разделим нацело на 10 исходное число. Тем самым избавимся от последней цифры в нем.
  4. Снова найдем остаток от деления на 10 того, что осталось от первого числа. Запомним эту цифру.
  5. Умножим на 10 второе число. Тем самым увеличим его разрядность до двух и сдвинем первую цифру в разряд десятков.
  6. Добавим к полученному второму числу запомненную ранее цифру из первого числа.
  7. Будем повторять действия п. 3-6 пока исходное число не уменьшится до нуля, т. е. пока не избавимся от всех его разрядов.
n1 = int(input("Введите целое число: "))
n2 = 0

while n1 > 0:
    # находим остаток - последнюю цифру
    digit = n1 % 10
    # делим нацело - удаляем последнюю цифру
    n1 = n1 // 10
    # увеличиваем разрядность второго числа
    n2 = n2 * 10
    # добавляем очередную цифру
    n2 = n2 + digit  

print('"Обратное" ему число:', n2)

Примеры выполнения кода:

Введите целое число: 32809
"Обратное" ему число: 90823
Введите целое число: 78290
"Обратное" ему число: 9287

Приведенный алгоритм решения является математическим, он универсален для большинства языков. Однако средства Python позволяют решить подобную задачу более практично. Так у списков есть метод reverse(), позволяющий изменять порядок элементов на обратный. Мы можем получить из исходной строки список символов, выполнить его реверс, после чего с помощью строкового метода join() опять собрать в единую строку.

n1 = input("Введите целое число: ")
n_list = list(n1)
n_list.reverse()
n2 = "".join(n_list)
print('"Обратное" ему число:', n2)

Также можно воспользоваться взятием среза из исходной строки с первого до последнего символас обратным шагом:

n1 = input("Введите целое число: ")
n2 = n1[::-1]
print('"Обратное" ему число:', n2)

Решение задач на Python