求助python问题

qq_38663855 2018-07-13 08:49:29
写一个去字符串头尾空格的程序
def trim(s):
if len(s) > 0:
while s[-1:] == ' ':
s = s[:-1]
while s[0] == ' ':
s = s[1:]
return s

会有
File "d:\pyhthoncode\hello.py", line 5, in trim
while s[0] == ' ':
IndexError: string index out of range
这样的报错,
但是把这行s[0]变成s[:-1],就没错了,想问一下为什么不能写s[0]呢?
...全文
166 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
DAVIED9 2018-08-09
  • 打赏
  • 举报
回复
可以尝试用 s[:0],与第三行类似的方法避免错误
DAVIED9 2018-08-09
  • 打赏
  • 举报
回复
第三行如果写成 s[-1] 应该也会报错,
写成 s[-1:] 巧妙的避免了这个错误
DAVIED9 2018-08-09
  • 打赏
  • 举报
回复
在循环内未做空校验,可能由于最终替换字符串为空字符串了,所以 s[0] 溢出?

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧