Обратная функция int Возвращая инф - PullRequest
0 голосов
/ 09 января 2019
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 голосов
/ 09 января 2019

Python 3 изменил способ деления на целые числа.

В Python 2 15/10 дает 1 (разделение по этажам).

В Python 3 15/10 дает 1.5 (истинное деление).

В вашем коде Python 2 использовалось разделение по этажам, для которого в Python 3 требуется оператор //.

Так что измени

n /= 10

до

n //= 10
...