Добрый день!
Изначально задача следующая - дан текстовый файл txt, разбитый по словам, главы в нем разделяются строкой '[new chapter]').
Необходимо написать программу, которая посчитает количество глав, в котором встречается искомое слово.
Моя идея состояла в том, чтобы составить список из индексов, которым соответствует строка '[new chapter]' и далее написать цикл, считающий количество глав, в которых участвует искомое слово с помощью переменной counter.
С первой частью задачи справилась, дальше начались проблемы. Не понимаю как перебрать все индексы, в которых используется искомое слово (потому что в текущем коде берется тот индекс, когда слово встречается только первый раз. Сомневаюсь, что правильно написала в целом второй цикл, результат выдается, но некорректный:
Буду очень благодарна помощи и советам) спасибо заранее.
Изначально задача следующая - дан текстовый файл txt, разбитый по словам, главы в нем разделяются строкой '[new chapter]').
Необходимо написать программу, которая посчитает количество глав, в котором встречается искомое слово.
Моя идея состояла в том, чтобы составить список из индексов, которым соответствует строка '[new chapter]' и далее написать цикл, считающий количество глав, в которых участвует искомое слово с помощью переменной counter.
С первой частью задачи справилась, дальше начались проблемы. Не понимаю как перебрать все индексы, в которых используется искомое слово (потому что в текущем коде берется тот индекс, когда слово встречается только первый раз. Сомневаюсь, что правильно написала в целом второй цикл, результат выдается, но некорректный:
Python:
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)
Буду очень благодарна помощи и советам) спасибо заранее.