1. 程式人生 > >Python切片 :實現一個trim()函式,去除字串首尾以及中間重複的空格,不呼叫str的strip()方法。

Python切片 :實現一個trim()函式,去除字串首尾以及中間重複的空格,不呼叫str的strip()方法。

# -*- coding=utf-8 -*-

def trim(s):
    length = len(s)
    if length != 0:
        if s[0] == ' ':
            return trim(s[1:])
        if s[-1] == ' ':
            return trim(s[:-1])
        
        for i in range(length-1):
            if s[i] == s[i+1] == ' ':
                return trim(s[0:i] + s[i+1:])
        #sl = s.split(' ')
        #while '' in sl:
        #    sl.remove('')
        #s = ' '.join(sl)

    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('  hello   world   add  ') != 'hello world add':
    print('測試失敗!')
elif trim('') != '':
    print('測試失敗!')
elif trim('    ') != '':
    print('測試失敗!')
else:

    print('測試成功!')

[[email protected] testgit]# python test.py 
測試成功!

相關推薦

Python切片 實現一個trim()函式去除字串首尾以及中間重複空格呼叫str的strip()方法

# -*- coding=utf-8 -*-def trim(s):    length = len(s)    if length != 0:        if s[0] == ' ':            return trim(s[1:])        if s[

【廖雪峰 python教程 課後題 切片】利用切片操作實現一個trim()函式去除字串首尾空格注意不要呼叫str的strip()方法

#encoding:utf-8 #定義一個函式,用來去除字串首尾的空格 def trim(s):     '''首先判斷該字串是否為空,如果為空,就返回該字串,     如果不為空的話,就判斷字串首尾字元是否為空,     如果為空,就使用遞迴再次呼叫該函式trim(),否

學習筆記之Python 切片利用切片操作實現一個trim()函式去除字串首尾空格

需求: Python 切片:利用切片操作,實現一個trim()函式,去除字串首尾的空格,不呼叫str的strip()方法。# Basic Version: def trim(s): length = len(s) if length > 0:

利用切片操作實現一個trim()函式去除字串首尾空格注意不要呼叫str的strip()方法# 測試: if trim('hello ') != 'hello': print('測試失敗!') elif trim(' hello'

def trim(s): k = 0 '''while迴圈判斷輸入字串是否為空值''' while k < len(s): if s[k] == ' ': #如果是空字元則記錄字元的個數 k = k + 1 #k自增來記錄數值

利用切片操作實現一個trim()函式去除字串首尾空格注意不要呼叫str的strip()方法

1,首先判斷字串是否是空,如果是直接返回字串; 2,迴圈判斷字串從第一個開始是否是空格,如果是則去掉空格,每次去掉空格後判斷剩下的是否是空,如果是返回字串 3,迴圈判斷字串從最後一個開始往前是否是空格,如果是則去掉空格,每次去掉空格後判斷剩下的是否是空,如果是返回字串 4,空格都去掉後返

python3利用切片操作實現一個trim()函式去除字串首尾空格

  利用切片操作,實現一個trim()函式,去除字串首尾的空格,注意不要呼叫str的strip()方法: 解決該題的思路如下: 1、判斷是否是空字串; 2、迴圈判斷字串首部第一個元素是否有空格,如果有,則去掉,再判斷是否是空字串,如果是,直接輸出; 3、迴圈判斷字串尾部

利用切片操作實現一個trim()函式去除字串首尾空格

非遞迴的方法: def trim(s): while(s[:1]==' '): s=s[1:] while(s[-1:]==' '): s=s[:-1] return s 遞迴的方法: def trim(s): if len(

python練習實現一個整數數組裡面兩個數之和為183的所有整數對

1 l1 = [183,0,1,2,-184,367] 2 3 num = [] 4 5 for i in range (0,len(l1)): 6 7 for l in range (i+1,len(l1)): 8 9 if l1[i]+l1[l]==

python學習筆記實現一個遍歷檔案尋找字串的功能

為了熟練使用python,打算有事沒事用python寫一些實用的小指令碼 我剛剛進入計算機專業一年,一些專業用語不是很清楚,有說錯的地方歡迎大家批評指正 -----------------------

去除字串所有換行和空格字串新增%

//去除字串所有換行和空格private String fixString(String str){ String dest = ""; if (str!=null) { Pattern p = Pattern.compile("\\s*|\t|\r|

利用切片操作實現一個trim()函數去除字符串首尾空格註意不要調用str的strip()方法

調用 字符 去除 nbsp from urn return ret code 首先判斷字符串的長度是否為0,如果是,直接返回字符串 第二,循環判斷字符串的首部是否有空格,如果有,去掉空格,再判斷字符串的長度是否為0,如果是,直接返回字符串 第三,循環判斷字符串的尾部是否

c語言實現一個函式判斷一個數是是素數

實現一個函式,判斷一個數是不是素數。程式:#include<stdio.h>#include<math.h>int prime(intnum) //prime表示素數{int i

python練習編寫一個函式isIn接受兩個字串作為引數如果一個字串是另一個字串的一部分返回True否則返回False

python練習:編寫一個函式isIn,接受兩個字串作為引數,如果一個字串是另一個字串的一部分,返回True,否則返回False。 重難點:定義函式的方法。使用str型別的find()函式,可以查詢多個字元。第二種方法為把字串轉化為字元佇列,然後遍歷尋找,但是隻可以尋找一個字元。 1 print(

Python)# 請實現一個函式用來判斷一顆二叉樹是是對稱的注意如果一個二叉樹同此二叉樹的映象是同樣的定義其為對稱的.

# 請實現一個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的. class TreeNode: def __init__(self, x): self.val = x self.lef

不要使用JavaScript內建的parseInt()函式利用map和reduce操作實現一個string2int()函式

#js練習第一天 不要使用JavaScript內建的parseInt()函式,利用map和reduce操作實現一個string2int()函式: 練習:把一個字串"13579"轉換成13579,並且不使用parseInt和Number函式 ```javascrpt 'us

python 切片實現trim函式去除首尾空格

轉自:http://blog.csdn.net/daniel960601需求:Python 切片:利用切片操作,實現一個trim()函式,去除字串首尾的空格,不呼叫str的strip()方法。在很多程式語言中,針對字串提供了很多各種擷取函式(例如,substring),其實目

Python基礎課定義一個函數輸入一個序列判斷序列是順序還是逆序順序輸出UP逆序輸出DOWN否則輸出None

逆序 python基礎 ted == sorted fun spa span def 1 def fun(arg): 2 try: 3 li = list(arg) 4 if(sorted(li)==li): 5

Python基礎課定義一個函數可以對序列逆序的輸出(對於列表和元組可以不用考慮嵌套的情況)

int 情況 type spa list bsp pri not log 1 15 def fun(arg): 2 16 if type(arg) is not tuple 3 17 and type(arg) is not str 4 18

C語言實現一個通訊錄可以進行增刪查改等多項功能(動態版本)

基於前一篇文章的靜態通訊錄,新增malloc函式,realloc函式以及free,將其改變為一個動態的通訊錄,可以動態記憶體開闢,儘可能防止記憶體的浪費。 具體程式碼如下: contact.h #ifndef __CONTACT_H__ #define __CO

資料結構實現一個並完成各個介面的實現

實現一個棧 棧的概念 棧:一種特殊的線性表,其只允許在固定的一端進行插入和刪除元素操作。進行資料插入和刪除操作的一端 稱為棧頂,另一端稱為棧底。棧中的資料元素遵守 後進先出 LIFO(Last In First Out)的原則。 壓棧:棧的插入操作叫做進棧/壓棧