Python 利用切片操作,去除字符串首尾的空格

本文是廖雪峰Python教学切片章节的课后习题;
原题目是:

利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法;
# 测试时调用trim函数,最后打印‘测试成功’,表明功能已经实现:
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('测试成功!')

本题实现思路是递归:trim(str)抽象意义就是移除首尾空格,那么添加判断进行递归即可
代码如下:


#切片
#利用切片操作,实现一个trim()函数,
#去除字符串首尾的空格,注意不要调用str的strip()方法:
#使用递归函数

def trim(str):
    if(str==''):
        return str
    elif (str[0]!=' ')and(str[-1]!=' '):
        return str
    elif str[0]==' ':
        return trim(str[1:])
    else :
        return trim(str[0:-1])




def main():
    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('测试成功!')

if __name__ == '__main__':
    main()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容