Я хочу разбить текст на предложения, а затем распечатать количество символов в каждом предложении, но программа не рассчитывает количество символов в каждом предложении.
Я попытался разбить введенный пользователем файл на предложения и выполнить цикл подсчета предложений и распечатать количество символов в каждом из них. Код, который я пробовал:
from collections import defaultdict
import nltk
from nltk.tokenize import word_tokenize
from nltk.tokenize import sent_tokenize,wordpunct_tokenize
import re
import os
import sys
from pathlib import Path
while True:
try:
file_to_open =Path(input("\nYOU SELECTED OPTION 8:
CALCULATE SENTENCE LENGTH. Please, insert your file
path: "))
with open(file_to_open,'r', encoding="utf-8") as f:
words = sent_tokenize(f.read())
break
except FileNotFoundError:
print("\nFile not found. Better try again")
except IsADirectoryError:
print("\nIncorrect Directory path.Try again")
print('\n\n This file contains',len(words),'sentences in total')
wordcounts = []
caracter_count=0
sent_number=1
with open(file_to_open) as f:
text = f.read()
sentences = sent_tokenize(text)
for sentence in sentences:
if sentence.isspace() !=True:
caracter_count = caracter_count + 1
print("Sentence", sent_number,'contains',caracter_count,
'characters')
sent_number +=1
caracter_count = caracter_count + 1
ХОЧУ ПЕЧАТЬ ЧТО-ТО, КАК:
"SENTENCE 1 HAS 35 CHARACTERS"
"SENTENCE 2 HAS 45 CHARACTERS"
и тд ....
Вывод, который я получаю с этой программой:
Этот файл содержит всего 4 предложения
«Предложение 1 содержит 0 символов»
«Предложение 2 содержит 1 символов»
«Предложение 3 содержит 2 символа»
«Предложение 4 содержит 3 символа»
Кто-нибудь может помочь мне сделать это?