为啥我在号码为 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 时看到错误?请查看下面的代码以从给定数字中找到最大回文数[重复]的主要内容,如果未能解决你的问题,请参考以下文章