0

所以我使用 2 个不同的函数来评估输入的数字是否是回文。但似乎无论我做什么,我的结果总是“数字不是回文”,即使数字实际上是。这是我的代码,它应该很容易,但它只是不工作。

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()
4

1 回答 1

2

isPalindrome(number)数字是字符串,但返回reverse(number)int

number == reverse(number)总是如此False(字符串!= int)

改变reverse()

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()

或使用num = int(input("Enter a number: "))

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()
于 2013-10-25T02:03:00.193 回答