我现在正在写一个程序,它可以查看一个列表并遍历一个列表,将单词分组成句子,但是每当我运行它时,我就得到了[],而且我不能100%确定原因。下面是我的代码,用于读取文件、创建句子和列表的附加片段
def import_file(text_file):
wordcounts = []
with open(text_file, encoding = "utf-8") as f:
pride_text = f.read()
sentences = pride_text.split(" ")
return sentences
def create_sentance(sentance):
sentence_list=[]
my_sentence=""
for character in sentance:
if character=='.' or character=='?' or character=='!':
sentence_list.append(my_sentence)
my_sentence=""
else:
my_sentence=my_sentence + character
return sentence_list
Preview of List 调用我的函数
pride=import_file("pride.txt")
pride=remove_abbreviations_and_punctuation(pride)
pride=create_sentance(pride)
print(pride)
函数返回空列表的原因是因为返回在for循环中。此外,“character”实际上是一个单词,因为列表中的每个元素都是一个单词。此程序工作:
您需要使用“in”而不是==因为每个字符都是一个单词。试着打印“字符”来看看这个。上面的程序工作并返回结果
这正是你想要的
您的
return sentence_list
缩进比应该缩进的要远一点。在for
的第一次迭代之后,如果执行的是else
条件而不是if
,那么您的函数将返回初始化为[ ]
的sentence_list
。不管怎样,如果sentence
是20个字符长,那么您的for
只会在给定的return
调用位置运行一次进行以下更改:
相关问题 更多 >
编程相关推荐