[英]Python - Print Each Sentence On New Line
對於每個主題,我都嘗試將字符串中的每個句子打印在新行上。 使用下面顯示的當前代碼和輸出,返回下面顯示的“正確輸出”的語法是什么?
碼
sentence = 'I am sorry Dave. I cannot let you do that.'
def format_sentence(sentence):
sentenceSplit = sentence.split(".")
for s in sentenceSplit:
print s + "."
輸出量
I am sorry Dave.
I cannot let you do that.
.
None
正確的輸出
I am sorry Dave.
I cannot let you do that.
你可以這樣做 :
def format_sentence(sentence) :
sentenceSplit = filter(None, sentence.split("."))
for s in sentenceSplit :
print s.strip() + "."
您的實現存在一些問題。 首先,正如Jarvis在他的答案中指出的那樣,如果分隔符是字符串中的第一個或最后一個字符,或者兩個分隔符彼此相鄰,則None
將插入到數組中。 要解決此問題,您需要過濾掉None
值。 另外,不要使用+
運算符,而要使用格式。
def format_sentence(sentences):
sentences_split = filter(None, sentences.split('.'))
for s in sentences_split:
print '{0}.'.format(s.strip())
您可以使用“。”而不是“。”來分割字符串,然后在每行上附加一個“。”。 直到最后一個將帶有“。” 已經。
def format_sentence(sentence):
sentenceSplit = sentence.split(". ")
for s in sentenceSplit[:-1]:
print s + "."
print sentenceSplit[-1]
嘗試:
def format_sentence(sentence):
print(sentence.replace('. ', '.\n'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.