真的很厉害~
Topic source#encoding:utf-8
#定义一个函数,用来去除字符串首尾的空格 def trim(s): '''首先判断该字符串是否为空,如果为空,就返回该字符串, 如果不为空的话,就判断字符串首尾字符是否为空, 如果为空,就使用递归再次调用该函数trim(),否则就返回该函数''' if len(s) == 0: return s elif s[0] == '': return (trim(s[1:])) elif s[-1] == '': return (trim(s[:-1])) return s
#调用该函数 trim('hello ') trim(' hello') trim(' hello ') trim('') trim(' ')
def trim(s): if len(s)==0: return s elif s[0]=='': return trim(s[1:]) elif s[-1]=='': return trim(s[:-1]) else: return s
trim(' Hello') ' Hello'
为什么返回不到想要的结果呢
他这样写不错,是要return s
之所以出现不能正确返回结果,是他代码中: s[0]=='' 应写成s[0]==' ' s[-1]=='' 应写成s[-1]==' ' 引号中间应该是一个空字符
- 1
Nathan_Hu_
灵活运用了递归的知识,佩服楼下的大牛~