本文是廖雪峰Python教学切片章节的课后习题
利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
# 测试:
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() 函数的功能就是移除首尾空格,实现功能需要添加判断,然后进行递归,代码如下:
#利用切片操作,实现一个trim()函数
#使用递归函数
def trim(s):
if s=='':
return s
elif (s[0]!=' ') and (s[-1]!=' '):
return s
elif s[0]==' ':
return trim(s[1:])
else:
return trim(s[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()