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
我错过了什么?
对不起,英语不好
答案 0 :(得分:0)
Python 3改变了整数除法的方式。
在Python 2中,15/10
给出1
(底数划分)。
在Python 3中,15/10
给出1.5
(真除法)。
您的Python 2代码使用地板分割,在Python 3中需要//
运算符。
所以改变
n /= 10
到
n //= 10