交作业
Topic source我照着您的试了下,发现测试失败了,各位大佬帮我看看是哪里出了问题
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('测试成功!')
下边的答案折磨了我快一个小时,长流终南山这位哥的代码,缩进有问题,导致return s的值会在只有右侧有空格的情况下出错, 正确的应该让第二个while与第一个while前空格数保持一致
这是一条有意义的微博 这位哥的代码的问题是判断首位是否有空格的语句s[0]=='',缺了个空格,导致判断是否为空了。
lisai777 这位哥的问题,我也没想通,单独测试s[:-2]是切片第一位至倒数第二位,理论上来说应该会出错。 实在没搞懂
- 1
- 2
长留终南山
while s!='' and s[0]==' ':
s=s[1:]
while s!='' and s[-1]==' ':
s=s[:-1]
return s