【问题标题】:Reverse int function Returning inf反向int函数返回inf
【发布时间】:2019-01-09 10:08:11
【问题描述】:
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

我错过了什么?

对不起英语不好

【问题讨论】:

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


    【解决方案1】:

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

    在 Python 2 中,15/10 给出 1(地板除法)。

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

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

    所以改变

    n /= 10
    

    n //= 10
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-09
      • 2021-02-13
      • 1970-01-01
      • 1970-01-01
      • 2020-05-26
      • 1970-01-01
      • 2013-07-26
      • 2020-02-26
      相关资源
      最近更新 更多