为什么我在号码为 001 时看到错误?请查看下面的代码,找出给定数字的最大回文和

Why am I seeing error when the number is 001? Please look at the code below to find the maximum palindrome sum from a given number

number = 001,错误是'invalid token'.. 请解释为什么以及为什么编译器不以相同方式处理 1 和 001?

number = 001

def palindrome(number):
    print ("The number is: ",number)
    str1 = str(number)
    strrev = str1[::-1]

    if (str1 == strrev):
        return True
    else:

        a = int(str1)
        b = int(strrev)
        c = a+b
        print ("Sum with reverse: ",c)
        print ("    ")

        return (palindrome(c))

n = palindrome(number)

print ("Palindrome: ",n)

001 是一个整数,它将作为 1 而不是 001。如果您需要 001,请将其用作字符串而不是整数。由于 001 是无效的整数,但是当涉及到字符串变量时它工作正常。

使用:

stringNumber = '001'