之前的代码出现了错误,indexerror。 分析原因后发现在测试代码中有连续多个空格,当while循环中删除空格只剩''(None)时,s[0]的索引失效,提示错误。
# -*- coding:utf-8 -*- def trim(s) while s[0] == ' ': s = s[1:] while s[-1] == ' ': s = s[:-1] return s
代码改进:
# -*- coding:utf-8 -*- def trim(s) while s[:1] == ' ': s = s[1:] while s[-1:] == ' ': s = s[:-1] return s
原因分析:在命令行跑过才知道,s='',print(s[1:]),print(s[2:])的操作是没有问题的,print(s[0])会显示indexerror。
从大神处看到的递归方法,惊为天人,也记录一下:
# -*- coding:utf-8 -*- def trim(s) if s[:1] == ' ': #判断第一个字符是不是空格 return trim(s[1:]) elif s[-1:] == ' ' :#判断最后一个字符是不是空格 return trim(s[:-1]) else: return s
Sign in to make a reply
望君佳
之前的代码出现了错误,indexerror。 分析原因后发现在测试代码中有连续多个空格,当while循环中删除空格只剩''(None)时,s[0]的索引失效,提示错误。
代码改进:
原因分析:在命令行跑过才知道,s='',print(s[1:]),print(s[2:])的操作是没有问题的,print(s[0])会显示indexerror。
从大神处看到的递归方法,惊为天人,也记录一下: