反向int函数返回inf

时间:2019-01-09 10:08:12

标签: python python-3.x python-2.x

a = 123

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

print(rev(a))

当我在python2上运行此代码时,它运行良好。 但是之后,我尝试在python3上运行它,返回

inf

我错过了什么?

对不起,英语不好

1 个答案:

答案 0 :(得分:0)

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

在Python 2中,15/10给出1(底数划分)。

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

您的Python 2代码使用地板分割,在Python 3中需要//运算符。

所以改变

n /= 10

n //= 10