利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()
方法:
一开始没什么头绪,想着要怎么能确定两头空格的个数呢?python中的for循环又不计数,不好弄啊。
好吧还是看了别人的解法:既然不好确定两头空格的个数,就一个空格一个空格的从两边消除!!!
然后写的程序如下
def trim(s):
while s[0]==' ':
s=s[1:]
while s[-1]==' ':
s=s[:-1]
return s
果然报错
错误原因:当s为空时,即表明字符串中没有元素,因此s[0]指向第一个元素时就会超出范围
解决:切片操作是不会超出索引范围的,所以改用了全切片的格式。
def trim(s):
while s[:1]==' ':
s=s[1:]
while s[-1:]==' ':
s=s[:-1]
return s
就OK啦!