更改功能签名

时间:2015-05-05 18:25:06

标签: python

我的任务是使用两个函数来(a)反转一个数字,然后(b)检查刚被反转的数字是否是它本身的回文。

 number = eval(input("enter number: "))
 reverse(number)



 def reverse(number):
     reversed = int(str(number)[::-1])
     isPalindrome(number,reversed)

 def isPalindrome(number,reversed):
     if reversed == number:
     print("the number",number,"is a palindrome.")

 else:
    print("the number",number,"is NOT a palindrome.")

这段代码工作得很好,但是我的教授希望这两个函数只接受'number'作为参数,而不是像我一样接受数字和反转。我不确定如何做到这一点。任何帮助,将不胜感激。谢谢大家。

2 个答案:

答案 0 :(得分:0)

您可以使用参数将输入传递给函数,并使用return关键字从函数中获取输出

def reverse(number):
    return ''.join(str(number)[::-1])

def isPalindrome(number):
    return str(number) == reverse(number)

实施例

>>> isPalindrome(100)
False
>>> isPalindrome(5005)
True

答案 1 :(得分:0)

您根本不需要转换为int,在reverse中调用isPalindrome,您需要传递的只是输入字符串:

def reverse(number):
    return number[::-1] # return string reversed

def isPalindrome(number):
    if reverse(number) == number: # compare reversed string to original
        print("the number", number, "is a palindrome.")
    else:
        print("the number", number, "is NOT a palindrome.")


number = input("enter number: ")
isPalindrome(number)