Python: как проверить, появляется ли слово в тексте более одного раза. (Нет наборов) - PullRequest
0 голосов
/ 12 ноября 2018

В моем задании у меня есть текст, и я хочу подсчитать, сколько раз эти слова появлялись в тексте. Например, допустим, у меня есть текстовый файл, говорящий.

У меня много кошек и собак. У меня 3 кошки и 16 собак. Я люблю собак!

Поскольку слова «собаки» появлялись 3 раза, мне нужно, чтобы это число было таким. Однако, как бы я сделал это для случайного текста?

Пока я придумал следующее.

file = open('phrases.txt')
text = file.read()
file.close()

count  = countWords()
duplicates = 0 

for words in text:
    if words #appear twice or more 

    #if duplicates 
    duplicates+=1 

unique = count - duplicates 
#subtract the total, by the amount of duplicates.
print(unique) 

countWords () - еще одна функция, которую я сделал, которая подсчитывает количество слов в тексте **

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018
    text = "I have lots of cats and dogs. I have 3 cats and 16 dogs. I love dogs!"

    find = "dogs"
    count = 0

    for index, letter in enumerate(text):
        if letter == find[0]:
            word = text[index: index + len(find)]

            if word == find:
                count += 1

    print(count)
0 голосов
/ 12 ноября 2018
words = text.split()
counts = {}
for word in words:
if word not in counts:
    counts[word] = 0
counts[word] += 1

for k,v in counts.items() :
    if v==1 :
        print(k)
...