Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-在新行上打印每个句子_Python_Loops_Newline - Fatal编程技术网

Python-在新行上打印每个句子

Python-在新行上打印每个句子,python,loops,newline,Python,Loops,Newline,根据主题,我试着在一行新行上用字符串打印每个句子。对于下面显示的当前代码和输出,返回下面显示的“正确输出”的语法是什么 代码 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

根据主题,我试着在一行新行上用字符串打印每个句子。对于下面显示的当前代码和输出,返回下面显示的“正确输出”的语法是什么

代码

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.   
正确输出

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() + "."
您可以这样做:

def format_sentence(sentence) :
    sentenceSplit = filter(None, sentence.split("."))
    for s in sentenceSplit :
        print s.strip() + "."

您的实现存在一些问题。首先,正如贾维斯在回答中指出的那样,如果您的分隔符是字符串中的第一个或最后一个字符,或者如果两个分隔符字符紧挨在一起,那么将在数组中插入
None
。要解决此问题,您需要过滤掉
None
值。另外,不要使用
+
操作符,而是使用格式化

def format_sentence(sentences):
    sentences_split = filter(None, sentences.split('.'))
    for s in sentences_split:
        print '{0}.'.format(s.strip())

您的实现存在一些问题。首先,正如贾维斯在回答中指出的那样,如果您的分隔符是字符串中的第一个或最后一个字符,或者如果两个分隔符字符紧挨在一起,那么将在数组中插入
None
。要解决此问题,您需要过滤掉
None
值。另外,不要使用
+
操作符,而是使用格式化

def format_sentence(sentences):
    sentences_split = filter(None, sentences.split('.'))
    for s in sentences_split:
        print '{0}.'.format(s.strip())

您可以将字符串按“.”而不是“.”拆分,然后在每行打印一个额外的“.”,直到最后一行已经有一个“.”


您可以将字符串按“.”而不是“.”拆分,然后在每行打印一个额外的“.”,直到最后一行已经有一个“.”

尝试:

尝试:


提示:句子之间的间隔超过个句点。它已经被回答了。。检查提示:句子之间的间隔超过句点。它已经被回答了。。查看此代码是否可以回答问题,提供有关如何和/或为什么解决问题的附加上下文将提高答案的长期价值。虽然此代码可以回答问题,但提供有关如何和/或为什么解决问题的附加上下文将提高答案的长期价值。