为啥我在号码为 001 时看到错误?请查看下面的代码以从给定数字中找到最大回文数[重复]

Posted

技术标签:

【中文标题】为啥我在号码为 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 [duplicate]为什么我在号码为 001 时看到错误?请查看下面的代码以从给定数字中找到最大回文数[重复] 【发布时间】:2017-04-24 04:17:28 【问题描述】:

如果 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 在 Python 中不是一个有效的整数,如果你想要字符串,写'001' 请参考***.com/questions/36386346/syntaxerror-invalid-token 【参考方案1】:

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

使用:

stringNumber = '001'

【讨论】:

输入是一个整数,所以只有我将它转换为字符串。我无法将自己的输入设为字符串。 不过,如果您的输入是整数,那么原始输入表示仍将被忽略。如果您希望前导零表示任何含义,则必须将输入存储为字符串,否则不会存储前导零。

以上是关于为啥我在号码为 001 时看到错误?请查看下面的代码以从给定数字中找到最大回文数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用twilio快速进行电话号码验证时出错

为啥我在 Azure Sql 数据库中看到 Sql 错误 1105?

为啥我在编译时收到以下错误:[关闭]

谁在调用错误视图,为啥?

为啥我在使用 TransactionScope 时会出错?

当我在 swift 3 中从图库中获取照片时,为啥收藏视图为空?