Язык программирования Python

Python: инвертирование числа без преобразования в строку

В этом посте о программировании на 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, которая разделяет целую и десятичную части.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *