Как посчитать количество слов в питоне
Рассмотрим работу со строками на небольшом примере, который будет представлять программу подсчета слов.
Пусть весь код программы будет выглядеть следующим образом:
# Программа подсчета слов в файле import os def get_words(filename): with open(filename, encoding="utf8") as file: text = file.read() text = text.replace("\n", " ") text = text.replace(",", "").replace(".", "").replace("?", "").replace("!", "") text = text.lower() words = text.split() words.sort() return words def get_words_dict(words): words_dict = dict() for word in words: if word in words_dict: words_dict[word] = words_dict[word] + 1 else: words_dict[word] = 1 return words_dict def main(): filename = input("Введите путь к файлу: ") if not os.path.exists(filename): print("Указанный файл не существует") else: words = get_words(filename) words_dict = get_words_dict(words) print(f"Кол-во слов: ") print(f"Кол-во уникальных слов: ") print("Все использованные слова:") for word in words_dict: print(word.ljust(20), words_dict[word]) if __name__ == "__main__": main()
Здесь в функции get_words() производится начальная сегментация текста на слова. Пи этом все пунктуационные знаки удаляются, а переводы стоки заменяется на пробелы. Затем происходит разбитие текста на слова. В качестве разделителя по умолчанию применяется пробел.
Далее в функции get_words_dict() получаем словарь из слов, где ключ — это уникальное слово, а значение — количество вхождений данного слова в тексте.
В функции main осуществляется ввод пути к файлу и вызов выше определенных функций, а также вывод все статистики.
Консольный вывод программы:
Введите путь к файлу: C:\SomeDir\hello.txt Кол-во слов: 66 Кол-во уникальных слов: 54 Все использованные слова: благодетель 2 в 1 всего 1 вы 1 горчичным 1 ее 1 ежели 3 еще 1 .
Введите текст, найдите количество слов в нем. Если слов нет или одно, то посчитать количество символов
Напишите реализацию программы по обработке строк с использованием списков.
Введите текст, найдите количество слов в нем. Если слов нет или одно, то посчитать количество символов.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Введите текст, найдите количество слов в нем
Напишите реализацию программы по обработке строк с использованием списков. Введите текст.
Введите с клавиатуры некоторый текст и подсчитать в нем количество слов, букв, цифр,строчных букв, заглавных б
Напишите пожалуйста программу в С++: Введите с клавиатуры некоторый текст и подсчитать в нем.
посчитать количество слов или отдельных символов в предложении
дан текст ,нужно вывести количество слов . Примечание: слово представляет собой последовательность.
Дан текст, который состоит из слов. Слова в тексте отделяются одно от другого символом *. Подсчитать количество слов
Дан текст, который состоит из слов. Слова в тексте отделяются одно от другого символом *.
Посчитать количество слов во введенной строке символов, начинающихся с «Т» или «т»
Собственно вообще не осознаю как делать, может кто помочь? Есть наработка.. но почему то не.
Регистрация: 22.09.2021
Сообщений: 97
Сообщение было отмечено ren1koV как решение
Решение
ren1koV,
a = input()
if len(a.split(‘ ‘)) print(len(a))
else:
a = a.split(‘ ‘)
print(len(a))
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Посчитать общее количество слов и определить, сколько слов в этом тексте состоит из двух символов
1) Заданы: массив наименований продукции и соответствующие ему данные плановой рентабельности.
Дан текст, слова в нем разделяются пробелом, в конце стоит точка. Найдите количество слов в тексте и выведите каждое сло
Дан текст, слова в нем разделяются пробелом, в конце стоит точка. Найдите количество слов в тексте.
Нужно в нем посчитать количество предложений, количество слов в каждом предложении, сколько определенных букв
Дан текст вводится в textBox. Нужно в нем посчитать количество предложений, количество слов в.
Найти количество слов в словаре, если известно количество страниц, количество слов на странице и средняя длина слова
помогите с программой, которая выполняет эти расчеты: В русско-английском словаре 948 страниц, на.
В заданной строке посчитать количество слов. Разделителем слов считается один или несколько ответов
В заданной строке посчитать количество слов. Разделителем слов считается один или несколько.
Посчитайте количество слов содержащих 3 буквы в этой строке
Дана строка,содержащая английский текст. Найти количество слов в этой строке,начинающихся с буквы b.
Дана строка,содержащая английский текст. Найти количество слов в этой строке,начинающихся с буквы.
Посчитать количество слов в строке, содержащих 4 буквы
Дорогие форумчане! Пол дня воюю с этой задачей. Разобрался с решением: как сосчитать кол-во слов в.
В строке подсчитать количество слов, содержащих строчные буквы «t» и «s», стоящие на соседних местах
Во введённой строке подсчитать количество слов, содержащих строчные буквы «t» и «s», стоящие на.
Определить количество слов в строке, содержащих две буквы С. Буква С вводится пользователем
(Максимальная длина строк не менее 50 символов. При реализации программы использование функций для.
Найти количество слов в строке между двумя символами в Python
Мне нужно посчитать количество слов в строке между двумя символами «;». Похожий код на плюсах у меня работает, а вот на пайтоне нет. Пишет что значение k не в диапазоне значений(если k будет равно i то пишет что количество слов = 0). Как можно это исправить?
s="hello; hi bbbb aaaaa dfdfdf dfdvdv; bye" count = 0 slovo=0 for i in range(len(s)): if s[i]==";": k=i+1 while s[k]!=";": if s[k]!=" "and slovo==0: slovo=1 count+=1 elif s[k]==" ": slovo=0 k+=1 print("Kolvo slov: ",count)
Отслеживать
задан 21 дек 2021 в 15:00
3 3 3 бронзовых знака
у вас есть ограничение на использование функций? два split решают задачу сильно проще
21 дек 2021 в 15:01
ограничений нет, но я ещё не знакома с этой функцией. Как её использовать в этой задаче?
21 дек 2021 в 15:04
len(s.split(‘;’)[1].split())
21 дек 2021 в 15:09
огромное Вам спасибо)
21 дек 2021 в 15:14
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
эммм как насчёт самого простого варианта:
str='. ' sep='. ' count=False counter=0 for it in str: if it==sep: count=True if not count else False if count: counter+=1
не описаны проблеммы вхождения трёх и более сепараторов, так как нет условий их обработки
Отслеживать
ответ дан 21 дек 2021 в 15:17
1,594 1 1 золотой знак 3 3 серебряных знака 13 13 бронзовых знаков
1) не называйте переменные именами встроенных типов 2) а что вы считаете? 3) весь ваш count = . — это count = not count
21 дек 2021 в 15:20
@splash58 внимательнее будте str=’aaaBccccBdddd’ sep=’B’ count=False counter=0 for it in str: if it==sep: count=True if not count else False if count: counter+=1 print(counter) возвращает 5 учитывая один разделитель