Форум сайта python.su
0
Добрый день!
Изначально задача следующая - дан текстовый файл txt, разбитый по словам, главы в нем разделяются строкой
'[new chapter]').
'[new chapter]').
def read_data(): data = open('/Users/taisiamoiseenko/Desktop/MISIS/Python/war_peace_processed.txt', 'rt').read() return data.split('\n') data = read_data() target_word='князь' indexes=[] counter=0 for index,value in enumerate(data): if value=='[new chapter]': indexes.append(index) for i in indexes: j=0 if j<data.index(target_word)<i: j+=i i+=1 counter+=1 print(counter)
Отредактировано amity (Сен. 22, 2021 11:23:35)
Офлайн
124
Я бы разделил тект на главы сначала в список,потом проверял отдельно каждую главу на наличие слова,если есть +1,нет continue
Офлайн
857
amity
Изначально задача следующая - дан текстовый файл txt, разбитый по словам, главы в нем разделяются строкой
[new chapter]
amity1. Надо просто брать каждую строку, пока не встретится признак главы.
Необходимо написать программу, которая посчитает количество глав, в котором встречается искомое слово.
xam1816Не, можно без затрат памяти сделать всё. Просто конечный автомат на два состояния.
Я бы разделил тект на главы сначала в список
Отредактировано py.user.next (Сен. 22, 2021 13:29:29)
Офлайн
124
py.user.nextДа этот вариант веселее, если автор поймет в чем идея конечного автомата,то потом может много где его применить
Не, можно без затрат памяти сделать всё. Просто конечный автомат на два состояния.
Офлайн