iT邦幫忙

0

Python 字串處理

將輸入的英文句子依序進行以下幾個步驟的處理,並將每個步驟處理的結果輸出
到螢幕上。

(1)將輸入的字串使用空白字元進行字串切割,請找出句子中所有單字,顯示所
有單字出來。

(2)將(1)
的結果以空白字元還原回原來的字串。

(3)將輸入的字串的所有單字的字首大寫。

看更多先前的討論...收起先前的討論...
ccutmis iT邦高手 8 級 ‧ 2020-03-26 09:59:56 檢舉
上網搜尋 "提問的智慧" 或許有幫助
今天天氣很好。太陽不錯很大。
啥?你說你在問問題?好吧,跟我說說你的問題是什麼吧。
問完了?哪?
不知道這個是不是他要的答案
https://ithelp.ithome.com.tw/upload/images/20200326/20117165gDAAQ6TllX.png
等等又說我們不會寫才這樣說
1212313 iT邦新手 5 級 ‧ 2020-03-26 10:47:03 檢舉
不會齁......

2 個回答

0
一級屠豬士
iT邦高手 1 級 ‧ 2020-03-26 12:17:19
最佳解答

先做第一個

#!/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']
2
listennn08
iT邦新手 1 級 ‧ 2020-03-26 11:07:36

希望有幫助到你的作業,至於人生我想你也不會跟我搶工作
我好像做得太複雜 照你的步驟縮減一下

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]))


https://ithelp.ithome.com.tw/upload/images/20200326/20117165otCRWoGvis.png

看更多先前的回應...收起先前的回應...
dragonH iT邦大師 1 級 ‧ 2020-03-26 11:19:57 檢舉

將輸入的英文句子依序進行以下幾個步驟的處理,並將每個步驟處理的結果輸出
到螢幕上。

(1)將輸入的字串使用空白字元進行字串切割,請找出句子中所有單字,顯示所
有單字出來。

(2)將(1)
的結果以空白字元還原回原來的字串。

(3)將輸入的字串的所有單字的字首大寫。

我好像沒做輸入XD

ccutmis iT邦高手 8 級 ‧ 2020-03-26 11:39:33 檢舉

不會齁......(我幫樓主說的)
/images/emoticon/emoticon05.gif

froce iT邦大師 2 級 ‧ 2020-03-26 11:49:08 檢舉

太容易被激了,要我就回我會不會我自己知道,但是我知道你不會。

不是被激啦
當作日行一善

我要發表回答

立即登入回答