Дан файл с расписанием занятий на неделю. Помимо названия предмета в нем также
указано лекция это, или практическое занятие, или лабораторная работа. В одной
строке может быть указаны только один предмет с информацией о нем. Посчитать,
сколько за неделю проходит практических занятий, лекций и лабораторных работ.
Пример файла:
Понедельник Физика (лекц.) Физика (лаб.) Алгебра (практ.) Вторник Геометрия (лекц.) Физика (практ.) Физика (лаб.) Физкультура (практ.) ...**Алгоритм решения задачи:**
Поскольку в одной строке может встречаться только одно из трех слов (лекц.,
практ., лаб.), то, если найдена одно из этих слов, нет смысла искать
остальные. Поэтому используется конструкция if-else. Если при более "раннем"
if выполняется условие, то вхождение остальных подстрок в строку не
проверяется.
Вхождение подстроки в строку проверяется с помощью метода find() для строк.
Если подстрока есть, то метод возвращает индекс первого символа подстроки в
строке. Если подстроки нет, то возвращается значение -1.
f = open("lessons.txt") lec = pract = lab = 0 for s in f: i = s.find('лекц.') if i > -1: lec += 1 else: i = s.find('практ.') if i > -1: pract += 1 else: i = s.find('лаб.') if i > -1: lab += 1 print('Лекций:', lec) print('Практических:', pract) print('Лабораторных:', lab) f.close()