|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
小甲鱼这为什么开始要将length = len(string)-1,然后传递给end,那么if n[strat = 0] == n[end = 8](初始值比较),第0位和第8位却不是为真,不理解,我觉得递归判断回文联好复杂
(以上是个人想法,实际程序能正常判断)
,
len(string)得到的长度是永远比最后以位的下标大一的,
而length作为实际参数传进去是要作为end的索引值的
作索引值当然要减一
|
|