# 6. Создать вручную и заполнить несколькими строками текстовый файл, в котором каждая строка должна содержать данные о фирме: название, форма собственности, выручка, издержки.
# Пример строки файла: firm_1 ООО 10000 5000.
#
# Необходимо построчно прочитать файл, вычислить прибыль каждой компании, а также среднюю прибыль. Если фирма получила убытки, в расчет средней прибыли ее не включать.
# Далее реализовать список. Он должен содержать словарь с фирмами и их прибылями, а также словарь со средней прибылью. Если фирма получила убытки, также добавить ее в словарь (со значением убытков).
# Пример списка: [{“firm_1”: 5000, “firm_2”: 3000, “firm_3”: 1000}, {“average_profit”: 2000}].
#
# Итоговый список сохранить в виде json-объекта в соответствующий файл.
# Пример json-объекта:
#
# [{"firm_1": 5000, "firm_2": 3000, "firm_3": 1000}, {"average_profit": 2000}]

import json
profit_dict = {}
firms_dict = {}
prof = 0 # общий профит на все фирмы
prof_aver = 0
i = 0 # число фирм с профитом
with open('text_7.txt', 'r') as file:
    for line in file:
        firm, earning, damage = line.split() # убрал лишнюю переменную(в одной строке - три столбца)
        profit = int(earning) - int(damage) #Ниже строчки тоже переработал,
        if profit >= 0: #я не уловил мысль, зачем использовать было profit[name]
            prof += profit # или profit.setdefault(name)
            i += 1
        firms_dict.update({firm:profit}) #Эту строчку добавил. Согласно условию, добавялем в словарь название фирмы и её прибыль или убыток.
    if i != 0:
        prof_aver = prof / i
        print(f'Прибыль средняя - {prof_aver:.2f}')
    else:
        print(f'Прибыль средняя - отсутсвует. Все работают в убыток')
    pr = {'Average profit': round(prof_aver)}
    profit_dict.update(pr) #Добавляем во второй словарь средний профит
    print(f'Прибыль каждой компании - {profit}')

list = [firms_dict, profit_dict] #Реализовываем итоговый лист, куда добавляем наши словари. И ниже записываем его в json.

with open('text_7.json', 'w') as write_js:
    json.dump(list, write_js)

    js_str = json.dumps(list)
    print(f'Создан файл с расширением json со следующим содержимым: \n '
          f'{js_str}')