反转 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
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