Дан файл с расписанием занятий на неделю. Помимо названия предмета в нем также
указано лекция это, или практическое занятие, или лабораторная работа. В одной
строке может быть указаны только один предмет с информацией о нем. Посчитать,
сколько за неделю проходит практических занятий, лекций и лабораторных работ.
Пример файла:
Понедельник
Физика (лекц.)
Физика (лаб.)
Алгебра (практ.)
Вторник
Геометрия (лекц.)
Физика (практ.)
Физика (лаб.)
Физкультура (практ.)
...
**Алгоритм решения задачи:**Поскольку в одной строке может встречаться только одно из трех слов (лекц.,
практ., лаб.), то, если найдена одно из этих слов, нет смысла искать
остальные. Поэтому используется конструкция 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()