Python
Python начальный уровень кода нет
Написать программу, позволяющую пользователю ввести текст. Слова в тексте разделены одним или несколькими пробелами, или переносом строки. Программа должна вывести на экран количество повторений для каждого слова в этом тексте. Используйте словарь.
Вот так будет работать с переводами строки (текст предыдущего оратора, скопированный у какой-то нейросети, принимает только одну строку и с переводами строк, соответственно, не работает):
Пустая строка - окончание ввода.
Пример. Вводим:
Получаем:
collections.Counter - это разновидность словаря, в котором значениями являются количества вхождений элемента в последовательность, подаваемую на вход.
from itertools import chain
from collections import Counter
print(*map('%s %d'.__mod__, Counter(chain.from_iterable(map(str.split, iter(input, '')))).items()), sep = '\n')
Или так, если уникальных слов на вход подаётся совсем много (порядка нескольких тысяч): from itertools import chain
from collections import Counter
print('\n'.join(map('%s %d'.__mod__, Counter(chain.from_iterable(map(str.split, iter(input, '')))).items())))
Пустая строка - окончание ввода.
Пример. Вводим:
du du hast du hast mich
du du hast du hast mich
du hast mich gefragt und ich hab nichts gesagt
(в конце дважды нажимаем Enter, чтобы ввести пустую строку)Получаем:
du 7
hast 5
mich 3
gefragt 1
und 1
ich 1
hab 1
nichts 1
gesagt 1
Слова считаются сквозняком по всем строкам за один проход, при этом обрабатывается одна строка за раз, хоть терабайт текста введи. Объём используемой памяти зависит от длины самой длинной строки и от количества уникальных слов в тексте.collections.Counter - это разновидность словаря, в котором значениями являются количества вхождений элемента в последовательность, подаваемую на вход.
Вячеслав Гесь
И ты еще говоришь что не пользуешься чатгпт
text = input("Введите текст: ")
words = text.split()
word_counts = {}
for word in words:
word_counts[word] = word_counts.get(word, 0) + 1
for word, count in word_counts.items():
print(f"{word}: {count}")
Ruslan Kuzmenko
а что значит f в print(f"...
Похожие вопросы
- Помогите написать программу на Python, моя версия кода на скрине, вроде всё работает, но автопроверка не проходит.
- Язык Python, помочь с кодом (не много)
- Python как упростить код чтобы он не превышал максимальное время работы
- Предположим я выучу язык питон хотя бы на начальном уровне куда его можно будет применить?
- Можете помочь! Нужен код для Python, что бы он заменял определенный текст в файле
- Junior-Python(или выше) программисты, что должен знать разработчик помимо синтаксиса для начального трудоустройства?
- Где ошибка в коде? (Python)
- Переписать код из С++ в Python
- Что не так в моем коде? Крестики - Нолики на python
- Python удаление кода через некоторое промежуток времени