Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 22, 2021 11:19:35

amity
Зарегистрирован: 2021-09-13
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с подсчетом количества глав, в котором встречается определенное слово

Добрый день!
Изначально задача следующая - дан текстовый файл txt, разбитый по словам, главы в нем разделяются строкой

 '[new chapter]').
Необходимо написать программу, которая посчитает количество глав, в котором встречается искомое слово.
Моя идея состояла в том, чтобы составить список из индексов, которым соответствует строка
 '[new chapter]').
и далее написать цикл, считающий количество глав, в которых участвует искомое слово с помощью переменной counter.
С первой частью задачи справилась, дальше начались проблемы. Не понимаю как перебрать все индексы, в которых используется искомое слово (потому что в текущем коде берется тот индекс, когда слово встречается только первый раз. Сомневаюсь, что правильно написала в целом второй цикл, результат выдается, но некорректный:

 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)

Офлайн

#2 Сен. 22, 2021 12:34:56

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1395
Репутация: +  124  -
Профиль   Отправить e-mail  

Проблемы с подсчетом количества глав, в котором встречается определенное слово

Я бы разделил тект на главы сначала в список,потом проверял отдельно каждую главу на наличие слова,если есть +1,нет continue

Офлайн

#3 Сен. 22, 2021 13:21:38

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

Проблемы с подсчетом количества глав, в котором встречается определенное слово

amity
Изначально задача следующая - дан текстовый файл txt, разбитый по словам, главы в нем разделяются строкой
[new chapter]
amity
Необходимо написать программу, которая посчитает количество глав, в котором встречается искомое слово.
1. Надо просто брать каждую строку, пока не встретится признак главы.
2. Если встретился признак главы, нужно брать каждую строку и искать в ней заданное слово.
3. Если заданное слово встретилось в строке, то надо увеличить счётчик глав и перейти к пункту 1. Если встретился признак главы, надо ничего не делать.

xam1816
Я бы разделил тект на главы сначала в список
Не, можно без затрат памяти сделать всё. Просто конечный автомат на два состояния.



Отредактировано py.user.next (Сен. 22, 2021 13:29:29)

Офлайн

#4 Сен. 22, 2021 17:20:50

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1395
Репутация: +  124  -
Профиль   Отправить e-mail  

Проблемы с подсчетом количества глав, в котором встречается определенное слово

py.user.next
Не, можно без затрат памяти сделать всё. Просто конечный автомат на два состояния.
Да этот вариант веселее, если автор поймет в чем идея конечного автомата,то потом может много где его применить

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version