Проверка числа палиндрома

Задача состоит в том, чтобы выяснить, является ли число палиндромом. Однако функция всегда возвращает False. где я ошибаюсь?

class Решение: def isPalindrome(self, x): """ :type x: int :rtype: bool """ int_list = list(str(x)) n = len (int_list)

    #arr1 = 
    #if (n%2==0):
    #print (int (n/2))

    for i in range(int(n/2)):
        temp1 = (int_list[i])
        temp2 = x%10

        print (temp1)
        print (temp2)

        if temp1==temp2:
            x = x/10
            continue

        else:
            return False

    return True

person user2945749    schedule 13.10.2018    source источник


Ответы (1)


Он всегда говорит false, потому что строка «x = x/10» не возвращает целое число. Он возвращает десятичное число. Импортируйте математическую библиотеку с помощью строки «import math». Затем замените «х = х/10» на «х = пол (х/10)».

#arr1 = 
#if (n%2==0):
#print (int (n/2))
import math
for i in range(int(n/2)):
    temp1 = (int_list[i])
    temp2 = x%10

    print (temp1)
    print (temp2)

    if temp1==temp2:
        x = floor(x/10)
        continue

    else:
        return False

return True
person K_M    schedule 14.10.2018