iT邦幫忙

0

#python 輸入一串沒空格的英文,輸出時要保留第一個單字大寫,其餘單字用空格隔開。

不好意思,想請問一下
如果要讓使用者輸入隨便一段沒空格的英文像是: youarebeautiful
但輸出時要變成: You are beautiful

輸入: WEAREFAMILY
要輸出成:We are family

我有嘗試過 \t 和 space 但好像都出現邏輯錯誤 >< (本人剛初學兩個禮拜)
還請大大指教
以下是我的程式碼

s = input (' Enter a sentence : ' )
    print(s.capitalize())

單純這樣輸入的時候,沒辦法run出來

但如果輸入成另一種形式就可以run出來

def main():
    s = input (' Enter a sentence : ' )
    print(s.capitalize())

main()

我不太知道 為什麼定義後就可以run出來 ><
目前遇到的問題是輸出後,沒辦法有空格。
還請大大點出我的問題
非常感謝。

DanSnow iT邦新手 1 級 ‧ 2021-05-18 00:24:49 檢舉
第一個,應該是因為你縮排錯了,再來空格的部份,因為原本的資料沒有空格,變成是你要自己想辦法找分隔點,比較好的方法應該是查字典了,簡單來說 Python 也沒有神奇到會自動幫你把字切開

2 個回答

0
japhenchen
iT邦大師 1 級 ‧ 2021-05-18 16:40:38
最佳解答


a = input("請輸入任意英文句子")
b = a.lower().capitalize()
print(b)

逐單字分隔我實在沒那麼神奇,但給你一個思路,Google翻譯神奇到可以把不分隔的句子翻譯,你倒可以用英翻中再中翻英就分隔了https://ithelp.ithome.com.tw/upload/images/20210518/20117954TjZN98YjJH.jpg

按下中間的語言交換
https://ithelp.ithome.com.tw/upload/images/20210518/20117954YCyTwg9cVl.jpg

或是....你弄個大英字典進你的字庫裡,你就可以TF-IDF演算法來做逐字分隔,有個jieba的詞庫可用中英文分詞的功能,但沒有內建大英字典
https://blog.kennycoder.io/2020/02/12/Python-%E7%9F%A5%E5%90%8DJieba%E4%B8%AD%E6%96%87%E6%96%B7%E8%A9%9E%E5%B7%A5%E5%85%B7%E6%95%99%E5%AD%B8/

0
1092B0007
iT邦新手 4 級 ‧ 2021-06-13 12:12:01

你縮排弄錯了

我要發表回答

立即登入回答