这是一个最简单的自定义函数,自己调用自己,我的理解是这样的:

   1.传一个s参数进行判断,如果有空字符它会切掉前后的空字符,返回一个新的s,这个新的s还有的话会继续执行这种重复的操作,类似于递归(博主不怎么会递归),


所以没有用循环也能做到循环的效果,看似是静态但因为递归实现了动态。

def trim(s):
    if s[:1] != ' ' and s[-1:] != ' ':
        return s
    elif s[:1] == ' ':
        return trim(s[1:])
    else:
        return trim(s[:-1])
# 测试:
if trim('hello  ') != 'hello':
    print('测试失败!')
elif trim('  hello') != 'hello':
    print('测试失败!')
elif trim('  hello  ') != 'hello':
    print('测试失败!')
elif trim('  hello  world  ') != 'hello  world':
    print('测试失败!')
elif trim('') != '':
    print('测试失败!')
elif trim('    ') != '':
    print('测试失败!')
else:
    print('测试成功!')

经过测试是成功的,我的每篇博客都会自己去测试成功后再发布,自己也被不少博客坑过。所以可以放心代码是正确的,如有报错请检查相关配置设置