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)数値は文字列ですが、intreverse(number)を返します

number == reverse(number)常にそうですFalse(string != 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 に答える