Python 如果数字是回文,则写入要处理的函数
所以我使用两个不同的函数来计算输入的数字是否是回文。但似乎无论我做什么,我的结果总是“数字不是回文”,即使数字实际上是。这是我的代码,应该很简单,但它不起作用Python 如果数字是回文,则写入要处理的函数,python,function,reverse,Python,Function,Reverse,所以我使用两个不同的函数来计算输入的数字是否是回文。但似乎无论我做什么,我的结果总是“数字不是回文”,即使数字实际上是。这是我的代码,应该很简单,但它不起作用 def reverse(number): return (int(str(number)[::-1])) def isPalindrome(number): reverse(number) if number == reverse(number): return True else:
def reverse(number):
return (int(str(number)[::-1]))
def isPalindrome(number):
reverse(number)
if number == reverse(number):
return True
else:
return False
def main():
num = (input("Enter a number: "))
if isPalindrome(num) == True:
print("The number is a Palindrome")
elif isPalindrome(num) == False:
print("The number is not a Palindrome")
main()
在ispalinedrome(number)
number是字符串,但reverse(number)
返回int
所以number==reverse(number)
总是False
(string!=int)
更改reverse()
或者使用num=int(输入(“输入一个数字”)
你的代码对我有用。对于'121'或'12321'给我“这个数字是回文的”,当我给它112232211时,它对我有效。你的代码对我使用Python2.7有效。这不是您的问题,但您不需要第一个
反向(数字)
,只需编写isPalindrome(num)
而不是isPalindrome(num)==True
和非isPalindrome(num
而不是isPalindrome(num)==False
。我尝试使用了你建议的所有内容,但仍然不起作用。我使用的是3.3.2,这可能就是原因。我使用的是2.7,但我所使用的类要求我使用3.3,所以有时会让人困惑。我不知道还有什么可能是错误的。修复了它。我只是添加以使两个数字的类型相同(尽管它们都是整数)所以在(数字和反向(数字))之前添加整数非常有效。谢谢大家的帮助。
def reverse(number):
return number[::-1]
def isPalindrome(number):
#print(type(number))
#print(type(reverse(number)))
return number == reverse(number)
def main():
num = input("Enter a number: ")
if isPalindrome(num) == True:
print("The number is a Palindrome")
else:
print("The number is not a Palindrome")
main()
def reverse(number):
return int(str(number)[::-1])
def isPalindrome(number):
#print(type(number))
#print(type(reverse(number)))
return number == reverse(number)
def main():
num = int(input("Enter a number: "))
if isPalindrome(num) == True:
print("The number is a Palindrome")
else:
print("The number is not a Palindrome")
main()