我的任务是使用两个函数来(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'作为参数,而不是像我一样接受数字和反转。我不确定如何做到这一点。任何帮助,将不胜感激。谢谢大家。
答案 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)