廖雪峰 python 切片 练习题:
利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
如下写法会报错:IndexError: string index out of range
def trim(s):
if s== '':
return s
else:
while s[:1]== ' ':
s= s[1:]
while s[-1]== ' ':
s= s[:-1]
return s
print(trim(' '))
原因:
while s[-1]== ' ':
s= s[:-1]
最后一次调用时,s已经为空字符串了,所以s[-1]会提示字符串索引超出维度。
可以改为:
def trim(s):
if s== '':
return s
else:
while s[:1]== ' ':
s= s[1:]
while s!= '':
if s[-1]==' ':
s= s[:-1]
return s
print(trim(' '))