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

利用切片操作,實現一個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自增來記錄數值
        else:       #否則字串中遇到非空格
            break   #跳出迴圈
        
    ''' 對字元陣列進行輸出 '''
    if k == len(s):     #如果全為空字元,即統計的空字元個數K=字串的總長度
        print(s)    #則原樣輸出該空字元
    else:       #如果不全為空字元
        i = 0
        L = []
        
        while i < len(s):   #控制迴圈條件
            if s[i] == ' ':     #如果第i個字元s[i]是空字元
                i = i + 1       #則統計空字元的個數i
            else:           #否則遇到非空字元就跳出迴圈
                break
            
        j = len(s) - 1      #j是列表的最後一個元素下標
        while j > 0:
            if s[j] == ' ':
                j = j - 1
            else:
                break
        print(s[i : j + 1])     #切片輸出i和j之間的字串