В этом посте о программировании на Python я покажу вам, как инвертировать целое число (например, преобразовать 123 в 321), но без использования строковых функций или преобразования в строку.
В основном, мы собираемся делать все это с помощью математики, работая с числами как с тем, что они есть, а не как со строками.
Хотя такой подход хорош для практики, я бы предпочел преобразовать его в строку, инвертировать, а затем снова преобразовать в целое число.
Содержание
Функция Python
Повторяю: я бы предпочел преобразовать в строку и инвертировать, но если вы хотите знать, как это сделать с числами, то это будет выглядеть следующим образом:
def invert_num(n):
num = 0
while n != 0:
num = 10*num+n % 10
n //= 10
return num
Code language: JavaScript (javascript)
Функция получает число и возвращает то же число в перевернутом виде.
В принципе, строка 8 могла бы выглядеть так: n = n // 10
Собираем все вместе
Полный код и режим использования выглядит следующим образом:
def inver_num(n):
num = 0
while n != 0:
num = 10*num+n % 10
n //= 10
return num
num = 2811
num_invero = invert_num(num)
print(f"Число {numero} инвертируется в {numero_invertido}")
Code language: PHP (php)
Когда вы запускаете его, результат правильный. Помните, что он работает только с целыми числами. Чтобы заставить его работать с плавающими числами, может быть полезна функция modf, которая разделяет целую и десятичную части.