python练习题:利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法

Posted it_逗逗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python练习题:利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法相关的知识,希望对你有一定的参考价值。

方法一:

# -*- coding: utf-8 -*-

# 利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:

def trim(s):
    while s[:1] == ‘ ‘:
        s = s[1:]
    while s[-1:] == ‘ ‘:
        s = s[0:-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[1:0];虽然不会报错,但是会比较奇怪。测试了下,当s=‘abc’时,s[1:0]=‘’ 空值)

# -*- coding: utf-8 -*-

def trim(s):
    i = 0
    j = len(s) - 1
    while i < len(s):
        if s[i] == ‘ ‘:
            i = i + 1
        else:
            break
    while j > -1:
        if s[j] == ‘ ‘:
            j = j - 1
        else:
            break
    return s[i:j+1]

# 测试:
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(‘测试成功!‘)

  

 

以上是关于python练习题:利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法的主要内容,如果未能解决你的问题,请参考以下文章

熟练利用切片操作

Python中切片的应用

Python中切片的应用

利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:

Python实践-4切片操作去除字符串首尾的空格

《Python从入门到实践》--第四章用切片操作列表 课后练习