如何在没有字符串或整数运算的情况下使用while循环反转数字?

时间:2017-02-18 11:28:53

标签: python loops reverse python-3.6

给定正整数,反转每个数字的顺序并返回反转值。即如果输入是12345,我需要返回54321。

我无法使用内置的'int'或'str'函数或在此函数中执行任何字符串操作。

我需要使用循环来解决这个问题。

到目前为止,我试过这个:

import math
def reverse_number(n):
    sum = 0
    n1 = n
    while n1 > 0:
        digit = round(math.log10(n1), 0) + 1
        sum += math.floor((n1 % 10) * (10 ** (digit - 1)))
        n1 = n1 // 10
        sum = math.floor(round(sum, 0))
    return sum

1 个答案:

答案 0 :(得分:0)

从不介意我解决了它。

import math
def reverse_number(n):
    sum = 0
    n1 = n
    while n1 > 0:
        digit = math.floor(math.log10(n1)) // 1
        extracted = math.floor(n1 % 10) // 1
        sum += math.floor(extracted * (10 ** digit)) // 1
        n1 = n1 // 10
        sum = math.floor(round(sum, 0))
    return sum