Discuss / Python / 交作业,这应该是比较简洁的实现方式了,有没有大神有更好的算法?

交作业,这应该是比较简洁的实现方式了,有没有大神有更好的算法?

Topic source

def trim(s): if s == ' ': return s while s[:1] == ' ': s = s[1:] while s[-1:] == ' ': s = s[:-1] return s

哥们。你这个不行的。。。你写完程序都不测试的吗。。。 你这个只能解决收尾一个空格的情况,题目里是2个空格,意思就是收尾不管有几个空格都应该能去掉。

哥们,你没看到是while循环去空格吗?不管是多少个空格,都会去掉

antenna_coder

#4 Created at ... [Delete] [Delete and Lock User]

当s为一个空格时,你这个代码输出为1个空格,应该输出无空格才对。(虽然测试代码显示测试成功!但是测试代码漏掉了s为一个空格的情况)

老哥牛逼 为你打CALL

就服你 老哥

antenna_coder

#7 Created at ... [Delete] [Delete and Lock User]

if 那里的' '应改为‘’,否则当s为一个纯空格时输出为一个纯空格,错误,或者不要if那段,保留2个while,经测试也是可以的

while s[:1] == ' ':
while s[0] == ' ':

这样的区别是什么呢?

@antenna_coder 嗯嗯,对的,直接不要if判断,两个while循环就可以。

@装在套子里的海怪 在字符串为空的情况下后一种会造成下标越界


  • 1

Reply