Посчитать количество определенных слов в тексте

Дан файл с расписанием занятий на неделю. Помимо названия предмета в нем также указано лекция это, или практическое занятие, или лабораторная работа. В одной строке может быть указаны только один предмет с информацией о нем. Посчитать, сколько за неделю проходит практических занятий, лекций и лабораторных работ.

Пример файла:

Понедельник
	Физика (лекц.)
	Физика (лаб.)
	Алгебра (практ.)
	
Вторник
	Геометрия (лекц.)
	Физика (практ.)
	Физика (лаб.)
	Физкультура (практ.)
...

Алгоритм решения задачи:

Поскольку в одной строке может встречаться только одно из трех слов (лекц., практ., лаб.), то, если найдена одно из этих слов, нет смысла искать остальные. Поэтому используется конструкция 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()

Создано