Поиск по этому блогу

понедельник, 16 ноября 2020 г.

Задача из КИМ № 24

 Текстовый файл 24-s1.txt состоит не более чем из 1000000 заглавных латинских букв (A..Z). Текст разбит на строки различной длины. Определите количество строк, в которых встречается комбинация Z*RO, где звёздочка обозначает любой символ.

Решение

f=open("E:24-s1.txt","r")     # Создаем файловую переменную. В ней указывается путь к файлу

n=0               # Счетчик строк

while True:             # Открываем цикл чтения данных из файла

    s=  f.readline()       # Читаем строку

    flag=0                            #  Обнуляем флаг события

    for i in range (0,len(s)-3):        #Работае посимвольно со строкой

        if s[i]=='Z' and s[i+2]=='R'  and s[i+3]=='O':    #Проверяем событие по условию задачи

            flag=1        #Поднимаем флаг

            if flag==1:        #Если флаг поднят,  

                n+=1        #считаем эту строку

                break        # прерываем посимвольный перебор

    if not s:        # Если строк больше нет

        break         #прерываем чтения данных из файла

f.close() # Закрываем файл

print(n)   # Печатаем результат

Комментариев нет:

Отправить комментарий