Текстовый файл 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) # Печатаем результат
Комментариев нет:
Отправить комментарий