Как создать программу на Python, которая печатает количество вхождений слов в строке - PullRequest
0 голосов
/ 07 мая 2018

Я хотел создать код, который печатал бы частоту слов в строке, и я сделал, но у меня была небольшая проблема, хотя. Вот код:

string=input("Enter your string: ")
string=string.split()
a=0
while(a<len(string)):
     print (string[a], "=", string.count(string[a]))
     a=a+1

Все прошло нормально, но если бы слово встречалось дважды, оно произнесло бы слово и констатировало возникновение в двух местах. Мне действительно нужна помощь здесь. Спасибо!

1 Ответ

0 голосов
/ 07 мая 2018

Вы можете избавиться от дубликатов в строке с помощью set() и выполнять итерацию только по уникальным строкам:

s=input("Enter your string: ")
s=s.split()

for i in set(s):
    print(i, "=", s.count(i)

В качестве альтернативы вы можете использовать collections.Counter():

from collections import Counter

s=input("Enter your string: ")
s=s.split()

for key, value in Counter(s).items():
    print(key, "=", value)
...