# Необходимо создать (не программно) текстовый файл, где каждая строка описывает учебный
# предмет и наличие лекционных, практических и лабораторных занятий по этому предмету и их
# количество. Важно, чтобы для каждого предмета не обязательно были все типы занятий.
# Сформировать словарь, содержащий название предмета и общее количество занятий по
# нему. Вывести словарь на экран.
# Примеры строк файла: Информатика: 100(л) 50(пр) 20(лаб).
# Физика: 30(л) — 10(лаб)
# Физкультура: — 30(пр) —
# Пример словаря: {“Информатика”: 170, “Физика”: 40, “Физкультура”: 30}
#

import \
    re  # модуль  для работы с регулярными выражениями  регулярные выражения используются поиска в строке;разбиения строки на подстроки;замены части строки.

hours = {}
with open('uch_predmet.txt', 'r', encoding='utf-8')as f:
    for line in f.readlines():
        hours[re.findall(r'^\w+', line)[0]] = sum(map(int, re.findall(r'\d+', line)))  # метод re.findal
        # возвращает список всех найденных совпадений в строке ^ \w+ -любая цифра или буква в строке ^ начало строки + 1 и более вхождений слева
        # \d+любая чифра
        print(hours)
