diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 000000000..26d33521a
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 000000000..105ce2da2
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 000000000..86e65c8d5
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 000000000..90cf603c1
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/python_basics.iml b/.idea/python_basics.iml
new file mode 100644
index 000000000..d0876a78d
--- /dev/null
+++ b/.idea/python_basics.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 000000000..35eb1ddfb
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1/task_1.py" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1/task_1.py"
index 09df027db..8fdc9c02e 100644
--- "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1/task_1.py"
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1/task_1.py"
@@ -3,3 +3,12 @@
записать в него построчно данные, вводимые пользователем.
Об окончании ввода данных свидетельствует пустая строка.
"""
+
+my_f = open("text_file.txt", "w")
+while True:
+ text = input()
+ my_f.write(text)
+ my_f.write('\n')
+ if text == '':
+ break
+my_f.close()
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1/text_file.txt" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1/text_file.txt"
new file mode 100644
index 000000000..4308adc41
--- /dev/null
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1/text_file.txt"
@@ -0,0 +1,3 @@
+123 123 3456
+123 wertyu tyuiuop
+
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2/task_2.py" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2/task_2.py"
index 28c1573a9..018316a23 100644
--- "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2/task_2.py"
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2/task_2.py"
@@ -2,3 +2,13 @@
2) Создать текстовый файл (не программно), сохранить в нем несколько строк,
выполнить подсчет количества строк, количества слов в каждой строке.
"""
+
+with open('text_file_2.txt', encoding='utf-8') as my_f:
+ x = 0
+ for line in my_f:
+ x += 1
+ my_list = line.split(' ')
+ y = len(my_list)
+ print(f"{line} Количество слов в строке: {y}\n")
+ print(f"Количество строк: {x}")
+my_f.close()
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2/text_file_2.txt" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2/text_file_2.txt"
new file mode 100644
index 000000000..8af74b723
--- /dev/null
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2/text_file_2.txt"
@@ -0,0 +1,10 @@
+Хакер, юзер, программист —
+За компьютером артист!
+Выдает лихие вещи,
+Не поймешь его, хоть тресни!
+Он с программами на «ты»
+От «каспера» до «винды».
+Что с процессором случится —
+Каждый в гости к нему мчится.
+Он решит любой вопрос,
+Гениальный мега-мозг!
\ No newline at end of file
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3/task_3.py" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3/task_3.py"
index af14722d2..9c0dca490 100644
--- "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3/task_3.py"
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3/task_3.py"
@@ -4,7 +4,23 @@
Two — 2
Three — 3
Four — 4
-Необходимо написать программу, открывающую файл на чтение и считывающую построчно данные.
+Необходимо написать программу, открывающую файл на чтение и считывающую
+построчно данные.
При этом английские числительные должны заменяться на русские.
Новый блок строк должен записываться в новый текстовый файл.
"""
+
+with open('text_file_3.txt', 'r', encoding='utf-8') as my_f, \
+ open('text_file_3_new.txt', 'w', encoding='utf-8') as my_f_new:
+ for line in my_f:
+ my_string = line.split(' ')
+ if my_string[0] == 'One':
+ my_string[0] = 'Один'
+ elif my_string[0] == 'Two':
+ my_string[0] = 'Два'
+ elif my_string[0] == 'Three':
+ my_string[0] = 'Три'
+ elif my_string[0] == 'Four':
+ my_string[0] = 'Четыре'
+ new_text = " ".join(my_string)
+ my_f_new.write(new_text)
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3/text_file_3.txt" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3/text_file_3.txt"
new file mode 100644
index 000000000..aca55a27a
--- /dev/null
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3/text_file_3.txt"
@@ -0,0 +1,4 @@
+One — 1
+Two — 2
+Three — 3
+Four — 4
\ No newline at end of file
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3/text_file_3_new.txt" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3/text_file_3_new.txt"
new file mode 100644
index 000000000..e8878d39e
--- /dev/null
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3/text_file_3_new.txt"
@@ -0,0 +1,4 @@
+Один — 1
+Два — 2
+Три — 3
+Четыре — 4
\ No newline at end of file
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_4/task_4.py" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_4/task_4.py"
index fe22885e5..95ee4a1e0 100644
--- "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_4/task_4.py"
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_4/task_4.py"
@@ -1,9 +1,25 @@
"""
-3. Создать текстовый файл (не программно), построчно записать фамилии сотрудников
-и величину их окладов (не менее 10 строк). Определить, кто из сотрудников имеет оклад менее 20 тыс.,
-вывести фамилии этих сотрудников. Выполнить подсчет средней величины дохода сотрудников.
+3. Создать текстовый файл (не программно), построчно записать фамилии
+сотрудников и величину их окладов (не менее 10 строк). Определить,
+кто из сотрудников имеет оклад менее 20 тыс.,вывести фамилии этих сотрудников.
+Выполнить подсчет средней величины дохода сотрудников.
Пример файла:
Иванов 23543.12
Петров 13749.32
"""
+
+with open('text_file_4.txt', 'r', encoding='utf-8') as my_f:
+ print(f"Оклад сотрудников меньше 20 тыс.: ")
+ sum_salary = 0
+ n = 0
+ for line in my_f:
+ my_string = line.split(' ')
+ y = my_string[1].rstrip()
+ x = float(y)
+ if x < 20000:
+ print(f"{my_string[0]}")
+ n += 1
+ sum_salary = sum_salary + x
+ average_income = round(sum_salary / n, 2)
+ print(f"Средняя величина дохода этих сотрудников: {average_income}")
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_4/text_file_4.txt" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_4/text_file_4.txt"
new file mode 100644
index 000000000..5e080ff46
--- /dev/null
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_4/text_file_4.txt"
@@ -0,0 +1,10 @@
+Иванов 23543.12
+Петров 13749.32
+Сидоров 24603.52
+Медведев 16538.46
+Патрушев 28310.88
+Виноградов 18091.21
+Денисов 22379.43
+Гусакова 16792.77
+Строева 25529.38
+Колосова 23204.11
\ No newline at end of file
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_5/task_5.py" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_5/task_5.py"
index 44892ac25..110c711d1 100644
--- "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_5/task_5.py"
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_5/task_5.py"
@@ -1,4 +1,19 @@
"""
-5) Создать (программно) текстовый файл, записать в него программно набор чисел,
- разделенных пробелами. Программа должна подсчитывать сумму чисел в файле и выводить ее на экран.
+5) Создать (программно) текстовый файл, записать в него программно набор
+чисел, разделенных пробелами. Программа должна подсчитывать сумму чисел
+в файле и выводить ее на экран.
"""
+
+from random import randint
+
+with open("text_file_5.txt", "w") as my_f1:
+ for i in range(10):
+ my_f1.write(str(randint(0, 10000)))
+ my_f1.write(" ")
+
+total_sum = 0
+with open("text_file_5.txt", "r") as my_f2:
+ line = my_f2.readline()
+ for integer in line.split():
+ total_sum += int(integer)
+print(f"Сумма чисел в файле: {total_sum}")
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_5/text_file_5.txt" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_5/text_file_5.txt"
new file mode 100644
index 000000000..9714e38d2
--- /dev/null
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_5/text_file_5.txt"
@@ -0,0 +1 @@
+569 3858 4747 428 3333 5454 3815 7293 1219 8318
\ No newline at end of file
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_6/task_6.py" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_6/task_6.py"
index 251ae5274..1f9cdf283 100644
--- "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_6/task_6.py"
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_6/task_6.py"
@@ -1,7 +1,26 @@
"""
-6) Необходимо создать (не программно) текстовый файл, где каждая строка описывает учебный предмет и наличие лекционных, практических и лабораторных занятий по этому предмету и их количество. Важно, чтобы для каждого предмета не обязательно были все типы занятий. Сформировать словарь, содержащий название предмета и общее количество занятий по нему. Вывести словарь на экран.
+6) Необходимо создать (не программно) текстовый файл, где каждая строка
+описывает учебный предмет и наличие лекционных, практических и лабораторных
+занятий по этому предмету и их количество. Важно, чтобы для каждого предмета
+ не обязательно были все типы занятий. Сформировать словарь, содержащий
+ название предмета и общее количество занятий по нему. Вывести словарь на
+ экран.
Примеры строк файла: Информатика: 100(л) 50(пр) 20(лаб).
- Физика: 30(л) — 10(лаб)
- Физкультура: — 30(пр) —
+ Физика: 30(л) — 10(лаб)
+ Физкультура: — 30(пр) —
Пример словаря: {“Информатика”: 170, “Физика”: 40, “Физкультура”: 30}
"""
+
+result = {}
+with open("text_file_6.txt", "r", encoding='utf-8') as my_f:
+ for line in my_f:
+ items = line.split(':')[0]
+ amount = line.split()[1:]
+ result[items] = 0
+ amount_sum = 0
+ for i in amount:
+ count = i.split('(')[0]
+ if count != '—':
+ amount_sum += int(count)
+ result[items] += amount_sum
+print(result)
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_6/text_file_6.txt" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_6/text_file_6.txt"
new file mode 100644
index 000000000..a349890b6
--- /dev/null
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_6/text_file_6.txt"
@@ -0,0 +1,3 @@
+Информатика: 100(л) 50(пр) 20(лаб)
+Физика: 30(л) — 10(лаб)
+Физкультура: — 30(пр) —
\ No newline at end of file
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_7/file_7.json" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_7/file_7.json"
new file mode 100644
index 000000000..31b8cceb7
--- /dev/null
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_7/file_7.json"
@@ -0,0 +1 @@
+[{"firm_1": 5000, "firm_2": 5000, "firm_3": 6000, "firm_4": 5000, "firm_5": 17000}, {"average_profit": 7600.0}]
\ No newline at end of file
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_7/task_7.py" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_7/task_7.py"
index 0e62d370f..f12a5fc95 100644
--- "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_7/task_7.py"
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_7/task_7.py"
@@ -1,11 +1,39 @@
"""
-7) Создать вручную и заполнить несколькими строками текстовый файл, в котором каждая строка должна содержать данные о фирме: название, форма собственности, выручка, издержки.
+7) Создать вручную и заполнить несколькими строками текстовый файл,
+в котором каждая строка должна содержать данные о фирме: название, форма
+собственности, выручка, издержки.
Пример строки файла: firm_1 ООО 10000 5000.
-Необходимо построчно прочитать файл, вычислить прибыль каждой компании, а также среднюю прибыль. Если фирма получила убытки, в расчет средней прибыли ее не включать.
-Далее реализовать список. Он должен содержать словарь с фирмами и их прибылями, а также словарь со средней прибылью. Если фирма получила убытки, также добавить ее в словарь (со значением убытков).
-Пример списка: [{“firm_1”: 5000, “firm_2”: 3000, “firm_3”: 1000}, {“average_profit”: 2000}].
+Необходимо построчно прочитать файл, вычислить прибыль каждой компании,
+а также среднюю прибыль. Если фирма получила убытки, в расчет средней прибыли
+ ее не включать.
+Далее реализовать список. Он должен содержать словарь с фирмами и их прибылями,
+ а также словарь со средней прибылью. Если фирма получила убытки, также
+ добавить ее в словарь (со значением убытков).
+Пример списка:
+ [{“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
+
+sum_of_profit = 0
+firms_dict = dict()
+profit_counter = 0
+firms_list = list()
+with open("text_file_7.txt", "r", encoding='utf-8') as my_f:
+ while True:
+ line = list(my_f.readline().split())
+ if not line:
+ break
+ if int(line[2]) > int(line[3]):
+ sum_of_profit += int(line[2]) - int(line[3])
+ profit_counter += 1
+ firms_dict.update({line[0]: int(line[2]) - int(line[3])})
+firms_list.append(firms_dict)
+firms_list.append(dict(average_profit=sum_of_profit / profit_counter))
+print(firms_list)
+with open("file_7.json", "w", encoding='utf-8') as my_f:
+ json.dump(firms_list, my_f)
diff --git "a/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_7/text_file_7.txt" "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_7/text_file_7.txt"
new file mode 100644
index 000000000..d5c6840b0
--- /dev/null
+++ "b/\320\243\321\200\320\276\320\272 5. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_7/text_file_7.txt"
@@ -0,0 +1,5 @@
+firm_1 ООО 10000 5000
+firm_2 ОАО 11000 6000
+firm_3 ПАО 15000 9000
+firm_4 ИП 13000 8000
+firm_5 ЗАО 20000 3000
\ No newline at end of file