將輸入的英文句子依序進行以下幾個步驟的處理,並將每個步驟處理的結果輸出
到螢幕上。
(1)將輸入的字串使用空白字元進行字串切割,請找出句子中所有單字,顯示所
有單字出來。
(2)將(1)
的結果以空白字元還原回原來的字串。
(3)將輸入的字串的所有單字的字首大寫。
先做第一個
#!/usr/bin/env python3
# 假設輸入的字串是 inStr
inStr = "half sugar easy ice"
# 產生字串裡面空白的index list
idxLst = [i for i, elem in enumerate(inStr) if elem == ' ']
# 根據idxLst 對 inStr 做 slice
# 因為要由0開始,所以將0加到 idxLst 開頭位置
idxLst.insert(0,0)
# 也要補上最後的位置
idxLst.append(len(inStr))
tgtLst = [inStr[i:j] for i, j in zip(idxLst, idxLst[1:])]
# 移除切割點的空白字符
tgtLst2 = list(map(lambda x: x[1:], tgtLst[1:]))
tgtLst2.insert(0, tgtLst[0])
# 將結果印出來
print("輸入字串是:%s" % inStr)
print("去除空白")
print(tgtLst2)
執行結果:
|=> ./remove_space.py
輸入字串是:half sugar easy ice
去除空白
['half', 'sugar', 'easy', 'ice']
希望有幫助到你的作業,至於人生我想你也不會跟我搶工作
我好像做得太複雜 照你的步驟縮減一下
sentence = input("Please input your sentence: ")
# 將輸入的英文句子依序進行以下幾個步驟的處理,並將每個步驟處理的結果輸出到螢幕上。
print("input: " + sentence)
space = " "
# (1)將輸入的字串使用空白字元進行字串切割,請找出句子中所有單字,顯示所有單字出來。
word = sentence.split(space)
print("step1: ", word)
# (2)將(1)的結果以空白字元還原回原來的字串。
print("step2: " + space.join(word))
# (3)將輸入的字串的所有單字的字首大寫。
print("step3: " + space.join([item[0].upper() + item[1:] for item in word]))