Найти - Пользователи
Полная версия: Помогите решить задачу
Начало » Центр помощи » Помогите решить задачу
1
nightvi
Программа должна открывать текстовый файл f в кодировке UTF-8 содержащий латинский текст После этого она должна:
1. записать в новый файл список всех встретившихся в f словоформ оканчивающихся -ibus или -arum
2. заменить в f все словоформы оканчивающихся -ibus или -arum и встречающиеся в f более двух раз на соответственно “__ibus” или “__arum”, никаких других изменений в файле не производить, результат записать в новый файл
3. Если считать что основу любой словоформы можно получить отрезанием -ibus или -arum, составить частотный список основ таких словоформ и записать в csv таблицу (1 словоформа = 1 строка) в первом поле пишется словоформа во втором количество ее употреблений в словоформах содержащих -ibus или -arum, разделитель точка с запятой список может быть неотсортированным Регистр не учитывается

ilnur
чет не понял.
Привели пример словоформы

содержание файла и что там необходимо найти
alexbadaloff
nightvi
Помогите решить задачу
Судя по задаче Вам нужно, чтобы за Вас решили данную задачу.
Всё это спокойно гуглится.

Вам нужно гуглить про:
1) Открытие файла в нужной кодировке в режиме чтения.
2) Чтение файла построчно.
3) Поиск подстроки в строке
4) Замена подстроки в строке
5) Открытие файла для записи

Это простые операции в питоне и проблем с поиском не должно быть.
Думаю найденные знания будут достаточны для решения вашей задачи.
nightvi
2 -е сделал вот так

# coding: utf-8
import re
f = open('f.txt').read().decode('utf-8')
new = re.sub(ur'ibus\b', u'__ibus ', f)
new = re.sub(ur'arum\b ', u'__arum ', new)
open('f_new.txt','w').write(new.encode('utf-8'))

Правильно?

А вот не понимаю как записать список всех встречающихся словоформ?
nightvi
# coding: utf-8
import re
pattern = 'ibus'
pattern2 = 'arum'
f = open('f.txt').read().decode('utf-8')
found = re.findall(pattern, f)
found = re.findall(pattern2, found)
open('f_new.txt','w').write(found.encode('utf-8'))
Предполагаю что надо делать так первое задание
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB