def trim(s): if s == ' ': return s while s[:1] == ' ': s = s[1:] while s[-1:] == ' ': s = s[:-1] return s
哥们。你这个不行的。。。你写完程序都不测试的吗。。。 你这个只能解决收尾一个空格的情况,题目里是2个空格,意思就是收尾不管有几个空格都应该能去掉。
哥们,你没看到是while循环去空格吗?不管是多少个空格,都会去掉
当s为一个空格时,你这个代码输出为1个空格,应该输出无空格才对。(虽然测试代码显示测试成功!但是测试代码漏掉了s为一个空格的情况)
老哥牛逼 为你打CALL
就服你 老哥
if 那里的' '应改为‘’,否则当s为一个纯空格时输出为一个纯空格,错误,或者不要if那段,保留2个while,经测试也是可以的
while s[:1] == ' ': while s[0] == ' ':
这样的区别是什么呢?
@antenna_coder 嗯嗯,对的,直接不要if判断,两个while循环就可以。
@装在套子里的海怪 在字符串为空的情况下后一种会造成下标越界
Sign in to make a reply
放肆青葱小铭哥
def trim(s): if s == ' ': return s while s[:1] == ' ': s = s[1:] while s[-1:] == ' ': s = s[:-1] return s