-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathL5T7.py
More file actions
36 lines (33 loc) · 2.22 KB
/
L5T7.py
File metadata and controls
36 lines (33 loc) · 2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Урок 5. Практическое задание 7.
# ФИО: Артур Назарян
# Курс: Основы языка Python
# Факультет: Geek University Python-разработки
#
# Создать вручную и заполнить несколькими строками текстовый файл, в котором каждая строка должна
# содержать данные о фирме: название, форма собственности, выручка, издержки.
# Пример строки файла: 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
with open('text_7.txt', 'r', encoding='utf-8') as f:
i = 0
firms_profit = []
firms_dict = {}
total_profit = 0
for el in f:
el = el.split()
firms_profit.append(int(el[2]) - int(el[3]))
firms_dict.update({el[0]: firms_profit[-1]})
if firms_profit[-1] > 0:
total_profit += firms_profit[-1]
i += 1
final_list = [firms_dict, {'average_profit': total_profit / i}]
with open('my_file.json', 'w', encoding='utf-8') as f:
json.dump(final_list, f, indent=4, ensure_ascii=False)