Когда определенное слово повторяется в строках, выведите что-нибудь на Python

#python #python-3.x

#python #python-3.x

Вопрос:

  1. Всякий раз, когда в строке появляется слово «Run», затем выведите «Vader».
  2. Если слово «Alert» повторяется последовательно перед «Run», затем выведите «skip», равное количеству повторений. раз.

Пример ввода

Внимание и будьте начеку

Бегите, спасая свою жизнь

Внимание и будьте начеку

Внимание и будьте начеку

Бегите, спасая свою жизнь

Внимание и будьте начеку

Внимание и будьте начеку

Внимание и будьте начеку

Бегите, спасая свою жизнь

Внимание и будьте начеку

Внимание и будьте начеку

Бегите, спасая свою жизнь

Мой код до сих пор

 sys.stdout = open("filepath/output.csv", "w")
with open("filepath/input.txt", "r") as f:
            for line in f:
                if "Run" in line:
                    print("Vader")

sys.stdout.close() 
 

текущий вывод

Вейдер

Вейдер

Вейдер

Вейдер

Требуемый вывод

Вейдер

пропустить

Вейдер

пропустить

пропустить

Вейдер

пропустить

Вейдер

Как вы можете видеть, я выполнил первое требование. Не могу понять вторую часть. Может кто-нибудь помочь с пунктом # 2? Или укажите мне правильное направление? Спасибо.

Ответ №1:

Перебирайте строки и всякий раз, когда появляется «Alert», увеличивайте счетчик. Если счетчик равен> 1, выведите «пропустить». Если предупреждение отсутствует, сбросьте счетчик на 0.

 counter = 0
for line in f:
    if "Run" in line:
        print("Vader")
        counter = 0
    elif "Alert" in line:
        if counter > 1:
            prit("skip")
        counter  = 1