Форум сайта python.su
Всем привет.
Есть текст, в котором с помощью библиотеки 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)))
Офлайн
сам файл
Прикреплённый файлы:
cats_of_ulthar.txt (13,4 KБ)
Офлайн
import re tmp = re.compile("кошка") with open("cats_of_ulthar.txt", encoding="utf-8") as f: res = tmp.findall(f.read()) print(len(res))
Офлайн
>>> 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 >>>
Офлайн