反转 int 函数返回 inf

Reverse int function Returning inf

a = 123

def rev(n):
    r = 0
    while n>0:
        r *= 10
        r += n % 10
        n /= 10
    return r

print(rev(a))

当我 运行 时,这段代码在 python2 上运行良好。 但之后我尝试 运行 它 python3 它 returns

inf

我错过了什么?

抱歉英语不好

Python 3 改变了整数除法的方式。

在Python2中,15/10给出1(楼层划分)。

在Python3中,15/10给出1.5(真除法)。

您的 Python 2 代码使用了底除法,在 Python 3 中需要 // 运算符。

所以改变

n /= 10

n //= 10