|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
复制代码
为什么start > end才结束
length = len(string)-1 为啥要减1
本帖最后由 qiuyouzhi 于 2020-4-4 11:52 编辑
1,如果start>end,就说明已经遍历到结尾了,所以要返回
2,不减一就会报IndexError: string index out of range这个错误
因为字符串是以0开始索引的,而len则是以1开始
除非用str1[1]来表示第一个元素
|
|