|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def is_palindrome(n, start, end):
if start > end:
return 1
elif n[start] == n[end]:
return is_palindrome(n, start+1, end-1)
else:
return 0
string = input('请输入一串字符串:')
length = len(string) - 1
if is_palindrome(string, 0, length):
print('%s是回文字符串' % string)
else:
print('%s不是回文字符串' % string)
麻烦问问返回函数的那个return(第二个return)能不能去掉
如果去掉这个return,输入aba显示不是回文字符
有这个return的话,aba就是回文字符
没有想出来这是怎么一回事,麻烦有会的大哥,小姐姐帮忙解答一下,谢谢谢谢
你理解了,那么你也该理解改成你这样 最后返回的 1 又不是最开始的函数 ,而是你递归重新进入的函数
递归进入的函数的是他的返回值 你只有 return 接受递归 才能接受到他返回的 1
就是 return is_palindrome(n, start+1, end-1) 才能接受他最终返回的 1
而你 :
is_palindrome(n, start+1, end-1)
return 1
是接受不到你最后递归到的 1 的
|
|