|
发表于 2020-5-18 23:22:13
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #写一个检测文字是否为回文联的函数
- str1=input('dhhdh')
- def myfun(n):
- lenth=len(n)
- if lenth==1:
-
- print(n,'是回文联')
- if lenth==0:
- print(n,'是回文联')
- if n[0]==n[-1]:
- return myfun(n[1:lenth-1])
- else:
- print(n,'不是回文联')
-
- myfun(str1)
复制代码
程序报错,index超出范围了
本帖最后由 Twilight6 于 2020-5-18 23:31 编辑
如果递归到最后为空字符串 就说明 前面所有递归时候你这里的条件都满足
所以你把代码改成这样即可
- str1 = input('dhhdh')
- def myfun(n):
- lenth = len(n)
- if lenth == 0:
- return n+'是回文联'
- # 因为你这边是print 打印 不会终止代码继续运行导致代码为空字符串时继续下面的代码导致索引出错
- if n[0] == n[-1]:
- return myfun(n[1:lenth - 1])
- else:
- return n+'不是回文联'
- print(mufun(str1))
复制代码
|
|