Уведомления

Группа в Telegram: @pythonsu

#1 Июль 14, 2021 16:51:02

i4etverg_ex
Зарегистрирован: 2021-06-23
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Библиотека re

Всем привет.
Есть текст, в котором с помощью библиотеки re необходимо посчитать сколько раз в нем
встречается слово “кошка” в любой форме.
Прошу подскажите пожалуйста с кодом. С моим кодом выдаёт в терминал 0

 filename = 'cats_of_ulthar.txt'
import re
word = 'кошка'
launches = []
with open(filename, encoding='utf-8') as file:
    for line in file: launches.append(line.split(','))
print(len(re.findall('word[а-яА-Я]+', filename)))

Офлайн

#2 Июль 14, 2021 17:28:10

i4etverg_ex
Зарегистрирован: 2021-06-23
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Библиотека re

сам файл

Прикреплённый файлы:
attachment cats_of_ulthar.txt (13,4 KБ)

Офлайн

#3 Июль 15, 2021 10:37:32

i4etverg_ex
Зарегистрирован: 2021-06-23
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Библиотека re

 import re
tmp = re.compile("кошка")
with open("cats_of_ulthar.txt", encoding="utf-8") as f:
    res = tmp.findall(f.read())
print(len(res))

Офлайн

#4 Июль 15, 2021 13:28:20

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Библиотека re

  
>>> import re
>>> 
>>> pat = (r'\b(кошка|кошки|кошке|кошку|кошкой'
...        r'кошки|кошек|кошкам|кошках|кошками)\b')
>>> 
>>> with open('file.txt', encoding='utf-8') as fin:
...     n = 0
...     for line in fin:
...         found = re.findall(pat, line)
...         if found:
...             print(found)
...             n += len(found)
...     print(n)
... 
['кошку']
['кошка']
['кошка']
['кошек']
['кошек']
['кошки']
['кошку']
['кошек']
['кошек']
['кошка']
['кошек']
['кошек']
['кошки']
['кошек']
['кошкам']
['кошки']
['кошек']
['кошка']
['кошки']
['кошек', 'кошка']
['кошек']
['кошки']
['кошки']
['кошку']
25
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version