Здравствуйте!
Долго не могу разобраться с вот таким вопросом:
при решении задачи, где нужно посчитать количество строк в тексте, в которых встречается определённое слово, столкнулась с тем, что не могу разбить текст на списки строк.
Есть файл с текстом в формате txt: содержимое файла:
text = """Hello everyone, welcome to the party! I said hello to my friend hello when I saw her in the park. Hello, how are you today? I hope everything is going well. She waved and said hello with a big smile on her face. After a warm hello, we started talking about our plans for the weekend."""
Программа должна вывести ответ 3, так как в трех строках встречается слово 'hello'.
В первой строке, во второй и в третьей. Но моя программа выводит 1, так как все содержимое файла считывает в одну строку.
функция подсчета слов:
from typing import TextIO
def count_articles(stream: TextIO, topic: str = "hello") -> int:
topic = topic.lower()
article_count = 0
for line in stream:
line = line.lower()
words = line.split()
if topic in words:
topic_article_count += 1
return topic_article_count
with open('hello.txt', 'w') as file:
file.write("Hello everyone, welcome to the party! I said hello to my friend hello when I saw her in the park. Hello, how are you today? I hope everything is going well. She waved and said hello with a big smile on her face. After a warm hello, we started talking about our plans for the weekend.")
with open('hello.txt', 'r') as file:
count = count_articles(file, topic="hello")
print(count)
А нужно, чтобы каждая строка, считывалась в отдельный список:
[Hello everyone, welcome to the party! I said hello to my friend hello when I saw ]
[her in the park. Hello, how are you today? I hope everything is going well. She waved and]
[said hello with a big smile on her face. After a warm hello, we started talking about our]
[plans for the weekend.]
Подскажите, как это реализовать? Заранее Спасибо!