Проблема подсчета необходимых слов в предложении
Написать программу, которая считывает текст из файла и выводит его на экран, после каждого предложения добавляя, сколько раз встретилось в нем введенное с клавиатуры слово.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
if __name__ == '__main__':
with open('me.txt', 'r', encoding='utf-8') as f:
text = f.read()
# Заменить символы конца предложения.
text = text.replace("!", ".")
text = text.replace("?", ".")
# Удалить все многоточия.
while ".." in text:
text = text.replace("..", ".")
# Разбить текст на предложения.Я
sentences = text.split(".")
word = input("Введите слово")
# Вывод предложений с запятыми.
print(text)
i = 0
for sentence in sentences:
words = sentence.replace('.', '').split()
for words in sentence:
if words in sentence:
sentence[words] += 1
else:
sentence[words] = 1
Ответы (1 шт):
Автор решения: GrAnd
→ Ссылка
import re
text = """
Олень-северное животное. В летнее время оленям в тайге жарко,
а в горах даже в июле холодно.Олень как бы создан для северных
просторов, жёсткого ветра, длинных морозных ночей. Олень легко
бежит вперёд по тайге, подминает под себя кусты,переплывает
быстрые реки.Олень не тонет, потому что каждая его шерстинка -
это длинная трубочка,которую внутри наполняет воздух...
Нос у оленя покрыт серебристой шёрсткой!Если бы шерсти на носу
не было,олень бы его отморозил. Но кто же такой этот "олень"?
Олень: олень + олень! :)
"""
text = re.sub(r"\s{2,}|\n", " ", text)
sentences = re.findall(r".+?(?:\.{1,}|\?|!)", text)
#word = input("Введите слово : ")
word = "Олень"
word = word.lower()
for sentence in sentences:
words = re.split(r"\s*[\-=()\"':;,!?. ]+\s*", sentence.strip())
words = list(map(lambda w: w.lower(), words))
print(sentence.strip(), words.count(word))
Олень-северное животное. 1
В летнее время оленям в тайге жарко, а в горах даже в июле холодно. 0
Олень как бы создан для северных просторов, жёсткого ветра, длинных морозных ночей. 1
Олень легко бежит вперёд по тайге, подминает под себя кусты,переплывает быстрые реки. 1
Олень не тонет, потому что каждая его шерстинка - это длинная трубочка,которую внутри наполняет воздух... 1
Нос у оленя покрыт серебристой шёрсткой! 0
Если бы шерсти на носу не было,олень бы его отморозил. 1
Но кто же такой этот "олень"? 1
Олень: олень + олень! 3
Только вот склонять/спрягать слова не умеет.