Борьба с этим упражнением, которое должно использовать словарь и подсчитывать количество раз, когда каждое слово появляется в нескольких пользовательских вводах. Он работает в моде, но не распыляет каждое слово из каждой строки ввода пользователя. Поэтому вместо того, чтобы подсчитывать ввод «счастливых дней» как 1 х счастливых и 1 х дней, это дает мне 1 х счастливых дней. Я попытался split() вместе с lower(), но это преобразует вход в список, и я борюсь с тем, что вылил этот список в словарь.Word Frequency Counter Python
Как вы, возможно, догадались, я немного начинающий, поэтому вся помощь будет принята с благодарностью!
occurrences = {}
while True:
word = input('Enter line: ')
word = word.lower() #this is also where I have tried a split()
if word =='':
break
occurrences[word]=occurrences.get(word,0)+1
for word in (occurrences):
print(word, occurrences[word])
EDIT
Приветствия для ответов. Это окончательное решение. Они не беспокоились о деле и хотели, чтобы окончательные результаты были отсортированы().
occurrences = {}
while True:
words = input('Enter line: ')
if words =='':
break
for word in words.split():
occurrences[word]=occurrences.get(word,0)+1
for word in sorted(occurrences):
print(word, occurrences[word])
Можете ли вы дать нам пример ввода и вывода кода? – wnnmaw
После того, как вы разделите() строку ввода, вы должны перебрать новый список, добавив каждое отдельное слово в счетчик словаря. – hexparrot
также, я не уверен, что его просто часть вашего сообщения или ваш исходный код, но у вашего кода нет возможности вырваться из цикла while, так как отступ неверен (здесь в сообщении) – hexparrot