|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def is_palindrome(n, start, end):
if start > end:
return 1
else:
return is_palindrome(n, start+1, end-1) if n[start] == n[end] else 0
string = input('请输入一串字符串:')
length = len(string)-1
if is_palindrome(string, 0, length):
print('"%s"是回文字符串!' % string)
else:
print('"%s"不是回文字符串!' % string)
大佬们,求助啊!
1. 为什么在定义方法的时候, 要return1 或者0 呢? 他们是代表true or false 吗??
2. if start > end:
return 1
为什么这个地方前边字母的index 大于后边字母 的 index 就要return1 呢?
两个问题 求大佬点播。。 学到递归之后好挫败啊
第一个问题你的理解是对的,
第二个问题 start 开始位置参数 都比 end 末尾的位置参数大了,说明前面递归过程中 if n[start] == n[end] 都是成立的 说明就是回文啦
|
|