Discuss / Python / 交作业

交作业

Topic source

while s!='' and s[0]==' ':

      s=s[1:]

   while s!='' and s[-1]==' ':

      s=s[:-1] 

   return s

活力老汤

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

你这个好!

这个是真厉害

我照着您的试了下,发现测试失败了,各位大佬帮我看看是哪里出了问题

def trim(s):

    while s!='' and s[0]=='':

        s=s[1:]

    while s!='' and s[-1]=='':

        s=s[:-1]

    return s

# 测试:

if trim('hello  ') != 'hello':

    print('测试失败!')

elif trim('  hello') != 'hello':

    print('测试失败!')

elif trim('  hello  ') != 'hello':

    print('测试失败!')

elif trim('  hello  world  ') != 'hello  world':

    print('测试失败!')

elif trim('') != '':

    print('测试失败!')

elif trim('    ') != '':

    print('测试失败!')

else:

    print('测试成功!')

是不是空格出了什么问题?

_王若水

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

学习了,我用了那么行才搞定

and s[0]=='':
s[-1]=='':
后面 都需要 空格的
and s[0]=='这里需要一个空格':
s[-1]=='这里需要一个空格':

必须赞一下

lisai777

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

请问为什么不是 s =s[:-2]  而是  s =s[:-1] 呢,  试了一下结果是一样的

下边的答案折磨了我快一个小时,长流终南山这位哥的代码,缩进有问题,导致return s的值会在只有右侧有空格的情况下出错, 正确的应该让第二个while与第一个while前空格数保持一致

这是一条有意义的微博 这位哥的代码的问题是判断首位是否有空格的语句s[0]=='',缺了个空格,导致判断是否为空了。

lisai777 这位哥的问题,我也没想通,单独测试s[:-2]是切片第一位至倒数第二位,理论上来说应该会出错。 实在没搞懂


  • 1
  • 2

Reply