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

  

原文地址:https://www.cnblogs.com/chling/p/11758075.html

时间: 2024-12-29 10:13:53

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

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

1 #利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法 2 def trim(s): 3 while s[0:1]==' ': 4 s=s[1:] 5 while s[(len(s)-1):len(s)]==' ': 6 s=s[:-1] 7 return s 8 9 s=input('请输入一个字符串:') 10 print('去除首尾空格后',trim(s)) 知识点: 取一个list或tuple的部分元素,比如取list的前3个元素,对这

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

首先判断字符串的长度是否为0,如果是,直接返回字符串 第二,循环判断字符串的首部是否有空格,如果有,去掉空格,再判断字符串的长度是否为0,如果是,直接返回字符串 第三,循环判断字符串的尾部是否有空格,如果有,去掉空格,再判断字符串的长度是否为0,如果是,直接返回字符串 最后,返回字符串 1 # -*- coding: utf-8 -*- 2 def trim(s): 3 if 0==len(s): 4 return s 5 6 while ' '==s[0]: 7 s=s[1:] 8 if 0=

Python中的切片操作

Python中的切片操作功能十分强大,通常我们利用切片来进行提取信息,进行相关的操作,下面就是一些切片的列子,一起来看看吧,希望对大家学习python有所帮助. 列如我们从range函数1-100中取7的倍数,函数及结果如下所示: >>> for i in range(1,100)[6::7]: print i 7 14 21 28 35 42 49 56 63 70 77 84 91 98 取一个list或tuple的部分元素是非常常见的操作.比如,一个list如下: >>

[py]str list切片-去除字符串首尾空格-递归思想

取出arr的前几项 #方法1 print([arr[0], arr[1]]) #方法2 arr2 = [] for i in range(2): arr2.append(arr[i]) print(arr2) #方法3 -切片 print(arr[:2]) 切片操作 参考 可以操作序列,如str list 取出最后一项 取出第一项 取出前10项 s[:10] 取出后10项 s[-10:] 删除首项 s[1:] 删除最后一项 s[:-1] ## 第一波 arr = [0, 1, 2, 3, 4]

shell实现trim函数-去除字符串两侧的空格(包括tab,space键)

shell实现trim函数效果去除字符串两侧的空格,以下三个命令等价,都能实现 sed 's/^\s*//' totrim.txt |sed 's/\s*$//'>trimed.txtsed 's/^\s*//;s/\s*$//' totrim.txt>trimed.txtsed -e 's/^\s*//' -e 's/\s*$//' totrim.txt>trimed.txt 主要就是利用正则表达式,^\s*表示字符串前面的零个或多个空格,\s*$表示字符串后面的零个或多个空格.

每天一个JavaScript实例-去除字符串末尾的空白

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-去除字符串末尾的空白</title> <script> function white(){ var input = document.ge

JavaSE8基础 String trim 去除字符串两端的空格

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t02; public class Demo3 { public static void main(String[] args) { String s1 = " h ell wor l d "; //去除字符串两头的空格 System.out.println(s1

Python序列的切片操作与技巧

切片操作 对于具有序列结构的数据来说,切片操作的方法是:consequence[start_index: end_index: step]. start_index: 表示是第一个元素对象,正索引位置默认为0:负索引位置默认为 -len(consequence) end_index: 表示是最后一个元素对象,正索引位置默认为 len(consequence)-1:负索引位置默认为 -1. step: 表示取值的步长,默认为1,步长值不能为0. [注意]对于序列结构数据来说,索引和步长都具有正负两

python学习之“切片操作从入门到精通”

在python学习开发的过程中,我们总是不断的要对List(列表),Tuple(元组)有取值操作:假如我们有一个列表List1现在想取出1其中的前5个元素,改怎么操作呢? 1 >>> List1 = ['zhangxueyou','liuyifei','liudehua','huyidao','haodada','wumengda','zhouxingchi','chenglong','Jack','linzhilin'] 2 >>> List1 3 ['zhangxu