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