From e820b52e977adc6689e5c01034ec8c9412507067 Mon Sep 17 00:00:00 2001 From: Evgeniy Bocharov Date: Fri, 22 Mar 2024 09:51:59 +0300 Subject: [PATCH 1/3] lesson_5 --- .../task_1/task1_leeson5.txt" | 0 .../task_1/task_1.py" | 16 ++++++++ .../task_2/task2_lesson5.txt" | 3 ++ .../task_2/task_2.py" | 20 ++++++++++ .../task_3/Task3_lesson5.txt" | 15 +++++++ .../task_3/task_3.py" | 37 ++++++++++++++---- .../task_4/task4_lesson5.txt" | 4 ++ .../task_4/task4_lesson5_2.txt" | 4 ++ .../task_4/task_4.py" | 39 +++++++++++++++---- .../task_5/task5_lesson5.txt" | 1 + .../task_5/task_5.py" | 11 ++++++ .../task_6/task6_lesson5.txt" | 10 +++++ .../task_6/task_6.py" | 37 +++++++++++++++++- .../task_7/task7_lesson5.txt" | 9 +++++ .../task_7/task_7.py" | 30 ++++++++++++++ 15 files changed, 220 insertions(+), 16 deletions(-) create mode 100644 "\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/task1_leeson5.txt" create mode 100644 "\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/task2_lesson5.txt" create mode 100644 "\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/Task3_lesson5.txt" create mode 100644 "\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/task4_lesson5.txt" create mode 100644 "\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/task4_lesson5_2.txt" create mode 100644 "\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/task5_lesson5.txt" create mode 100644 "\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/task6_lesson5.txt" create mode 100644 "\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/task7_lesson5.txt" 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/task1_leeson5.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/task1_leeson5.txt" new file mode 100644 index 000000000..e69de29bb 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..381b8bbcd 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,19 @@ записать в него построчно данные, вводимые пользователем. Об окончании ввода данных свидетельствует пустая строка. """ + + +def string(text_input): + str2 = str(text_input) + total = "" + while str2 != "": + total = f'{total}{str2}\n' + str2 = input() + my_file = open("task1_leeson5.txt", "a") + my_file.write(total) + my_file.close() + return total + +print(string(input())) + + 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/task2_lesson5.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/task2_lesson5.txt" new file mode 100644 index 000000000..d03640b00 --- /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/task2_lesson5.txt" @@ -0,0 +1,3 @@ + + . + . 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..1603ba49e 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,23 @@ 2) Создать текстовый файл (не программно), сохранить в нем несколько строк, выполнить подсчет количества строк, количества слов в каждой строке. """ +my_f = open("task2_lesson5.txt", "r") +print(my_f.read()) + +my_f = open("task2_lesson5.txt", "r") +lines = 0 +words = 0 +numb = 1 + +for line in my_f: + print(f'{numb}-я строка содержит слов - {len(line.split())}') + words += len(line.split()) + lines += 1 + numb += 1 + +print(f"Количество строк в файле - {lines}") +print(f"Общее количество слов в файле - {words}") + +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_3/Task3_lesson5.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/Task3_lesson5.txt" new file mode 100644 index 000000000..17b3073d9 --- /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/Task3_lesson5.txt" @@ -0,0 +1,15 @@ + 20000 + 10000 + 30000 + 25000 + 15000 + 18000 + 19000 + 40000 + 50000 + 30000 + 17000 + 21000 + 5000 + 19000 + 1700 \ 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..08b49dc2b 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" @@ -1,10 +1,31 @@ """ -4) Создать (не программно) текстовый файл со следующим содержимым: -One — 1 -Two — 2 -Three — 3 -Four — 4 -Необходимо написать программу, открывающую файл на чтение и считывающую построчно данные. -При этом английские числительные должны заменяться на русские. -Новый блок строк должен записываться в новый текстовый файл. +3. Создать текстовый файл (не программно), построчно записать фамилии сотрудников +и величину их окладов (не менее 10 строк). Определить, кто из сотрудников имеет оклад менее 20 тыс., +вывести фамилии этих сотрудников. Выполнить подсчет средней величины дохода сотрудников. +Пример файла: + +Иванов 23543.12 +Петров 13749.32 """ + +bill_list = open("Task3_lesson5.txt", "r")# открываем файл +my_text = bill_list.read().split()# создаём cписок, который содержит текст из файла +list1 = my_text[::2]# создаём 1-й список, где содержатся именна +list2 = my_text[1::2]# создаём 2-й список, где содержатся зарплата сотрудников +my_dict = dict(zip(list1, list2))# создаём из двух списков словарь, где имя это ключ, а зарплата - значение +total_incom = 0 # общий доход будет сумироваться в цикле for +num_of_staff = 0 # число сотрудников будет сумироваться в цикле for. + +# далее получаем список сотрудникрв у кого зарпалта менее 20000, а также получаем общий доход всех сотрудников +print("Сотрудники с зарплатой менее 20000:") +for key, value in my_dict.items(): + if int(value) < 20000: + print(key, value) + num_of_staff += 1 + total_incom += int(value) +med_incom = total_incom / num_of_staff +print() +print("Средний доход имеющихся сотрудников составляет -", round(med_incom, 3)) + + + 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/task4_lesson5.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/task4_lesson5.txt" new file mode 100644 index 000000000..48de98b73 --- /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/task4_lesson5.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_4/task4_lesson5_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_4/task4_lesson5_2.txt" new file mode 100644 index 000000000..48de98b73 --- /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/task4_lesson5_2.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_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..3db6e6b10 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,34 @@ """ -3. Создать текстовый файл (не программно), построчно записать фамилии сотрудников -и величину их окладов (не менее 10 строк). Определить, кто из сотрудников имеет оклад менее 20 тыс., -вывести фамилии этих сотрудников. Выполнить подсчет средней величины дохода сотрудников. -Пример файла: - -Иванов 23543.12 -Петров 13749.32 +4) Создать (не программно) текстовый файл со следующим содержимым: +One — 1 +Two — 2 +Three — 3 +Four — 4 +Необходимо написать программу, открывающую файл на чтение и считывающую построчно данные. +При этом английские числительные должны заменяться на русские. +Новый блок строк должен записываться в новый текстовый файл. """ + + +from translate import Translator +translator = Translator(from_lang="en",to_lang="ru") + +my_f = open("task4_lesson5.txt", "r") #открываем 1-й файл + +content_en = my_f.read() #из 1-го файла переносим текст в переменную content_en +content_ru = translator.translate(content_en) #переводим content_en на русский язык и вставляем текст в content_ru +my_f2 = open("task4_lesson5_2.txt", "w")#открываем пустой 2-ой файл +my_f2.write(content_ru) #записываем в файл текст из content.ru + +my_f.close() +my_f2.close() + + + + + + +print(content) + + + 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/task5_lesson5.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/task5_lesson5.txt" new file mode 100644 index 000000000..f5ca57f48 --- /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/task5_lesson5.txt" @@ -0,0 +1 @@ +0 10 11 200 \ 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..c6cf09e2d 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" @@ -2,3 +2,14 @@ 5) Создать (программно) текстовый файл, записать в него программно набор чисел, разделенных пробелами. Программа должна подсчитывать сумму чисел в файле и выводить ее на экран. """ +my_f = open("task5_lesson5.txt", "w") #открываем файл на запись +my_f.write(input("введите числа через пробел:")) #записываем в файл данные +my_f = open("task5_lesson5.txt", "r") #открываем файл на чтение +content = my_f.read() #в переменную content помещаем данные из файла task5_lesson5.txt +content_2 = content.split() #преобразовываем строку с писок и помещаем данный список в переменную content_2 +sum_cont2 = 0 #данная переменная будет меняться в следующем цикле +for el in content_2: #считаем сумму всех чесел, которые есть в файле task5_lesson5.txt + sum_cont2 += int(el) +my_f.close() + +print(sum_cont2) \ 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/task6_lesson5.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/task6_lesson5.txt" new file mode 100644 index 000000000..4440444dd --- /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/task6_lesson5.txt" @@ -0,0 +1,10 @@ +: 200() 50() +: 100() +: 50() 50() +: 100() 50() 50() +: 100() 50() 50() +: 50() 25() 25() +: 100() 50() +-: 200() 100() +: 50() 50() 10() +: 100() \ 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..6b0f570a8 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,42 @@ """ -6) Необходимо создать (не программно) текстовый файл, где каждая строка описывает учебный предмет и наличие лекционных, практических и лабораторных занятий по этому предмету и их количество. Важно, чтобы для каждого предмета не обязательно были все типы занятий. Сформировать словарь, содержащий название предмета и общее количество занятий по нему. Вывести словарь на экран. +6) Необходимо создать (не программно) текстовый файл, где каждая строка описывает учебный предмет +и наличие лекционных, практических и лабораторных занятий по этому предмету и их количество. +Важно, чтобы для каждого предмета не обязательно были все типы занятий. +Сформировать словарь, содержащий название предмета и общее количество занятий по нему. +Вывести словарь на экран. Примеры строк файла: Информатика: 100(л) 50(пр) 20(лаб). Физика: 30(л) — 10(лаб) Физкультура: — 30(пр) — Пример словаря: {“Информатика”: 170, “Физика”: 40, “Физкультура”: 30} """ + +my_f = open('task6_lesson5.txt', "r") #открываем текстовый файл +content = my_f.readlines() #извлекаем из текстового файл полный список строк +my_dict2 = {} #данная переменная будет обновляться в следующем цикле +for el in content: #в данном цикле мы создаём из строки словарь, где название предмета ключ, а сумма чисел в строке -значение + a = el.replace('(л)', '').replace('(пр)', '').replace('(лаб)', '').replace("\n", "").replace(":", "")#убираем из очередной строки указанные символы + b = a.split()#создаем из строки список b + c = a.split()#создаем из строки список c + del b[1:]#из списка "b" убираем все элементы кроме 1-го и оставляем только название предмета + c.pop(0)#из списка "c" убираем первый элемент и оставляем только числа + el2 = 0 # данная переменная будет обновляться в следующем цикле + for el in c:#в данном цикле сумируем числа в строке + el2 += int(el) + for el in b:#в данном цикле списко "b" переводим в строку + b = el + my_dict = {b: el2} #создаём словарь, где название предмета - ключ, а cумма чисел - значение + my_dict2.update(my_dict) #объединяем все сгенениророванные словари в один + +print(my_dict2)#выводим результат +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_7/task7_lesson5.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/task7_lesson5.txt" new file mode 100644 index 000000000..673f88717 --- /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/task7_lesson5.txt" @@ -0,0 +1,9 @@ +Nike 90000 30000 +SONY 80000 15000 +FILLA 70000 30000 +TURIST 60000 20000 +SHAURMA-HOUS 50000 60000 +KOFFETEA 70000 25000 +TUKTUKTUK 85000 10000 +TIKTOK 50000 70000 +SSS 10000 10000 \ 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..d5091a99e 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" @@ -9,3 +9,33 @@ [{"firm_1": 5000, "firm_2": 3000, "firm_3": 1000}, {"average_profit": 2000}] Подсказка: использовать менеджер контекста. """ +my_f = open("task7_lesson5.txt", "r") +content = my_f.readlines() #извлекаем из текстового файл полный список строк +profit = {} #данная переменная будет обновляться в следующем цикле +av_profit = {} +lines = 0 +lines2 = 0 +divider = 0 #это счётчик цикла for. По нему мы узнаем средню прибыль +for el in content: #в данном цикле мы создаём из строки словарь, где название предмета ключ, а сумма чисел в строке -значение + a = el.replace('ООО', '').replace('ОАО', '').replace('ЗАО', '').replace("\n", "")#убираем из очередной строки указанные символы + b = a.split()#создаем из строки список b + c = a.split()#создаем из строки список c + del b[1:]#из списка "b" убираем все элементы кроме 1-го и оставляем только название фирмы + del c[0:1]#из списка "c" убираем лишние элементы и оставляем только числа + line = 0 # данная переменная будет обновляться в следующем цикле + for i in range(len(c)): # в данном цике считаем прибыль в каждой строке + if i == 0: + line = int(c[i]) - int(c[1]) + if line > 0: #выполняем данное условие, если нет убытка. + lines += line + for el in b: #в данном цикле списко "b" переводим в строку + b = el + my_dict = {b: line} #создаём словарь, где название фирмы - ключ, а cумма прибыли - значение + divider += 1 #счётчик увеличивается на 1 при условии, если фирма прибыльная + else: # Убытки склыдваем в переменную lines2 + lines2 += line + profit.update(my_dict) #объединяем все прибыльные фирмы в один словарь + loss = {"убытки": lines2} #создаём словарь с суммой убытков + av_profit = {"средняя прибыль": lines // divider} +print([profit, av_profit, loss]) +my_f.close() From 919dcacb273dff6687b6a72d3dfa2ed16ba98eec Mon Sep 17 00:00:00 2001 From: Evgeniy Bocharov Date: Wed, 3 Apr 2024 11:40:40 +0300 Subject: [PATCH 2/3] lesson_5_task7_adjusted --- .../task_7/my_json.json" | 1 + .../task_7/task_7.py" | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 "\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/my_json.json" 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/my_json.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/my_json.json" new file mode 100644 index 000000000..3fc0fd9be --- /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/my_json.json" @@ -0,0 +1 @@ +[{"Nike": 60000, "SONY": 65000, "FILLA": 40000, "TURIST": 40000, "KOFFETEA": 45000, "TUKTUKTUK": 75000}, {"average profit": 54166}, {"losses": -30000}] \ 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 d5091a99e..98efa497c 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" @@ -9,6 +9,8 @@ [{"firm_1": 5000, "firm_2": 3000, "firm_3": 1000}, {"average_profit": 2000}] Подсказка: использовать менеджер контекста. """ +import json + my_f = open("task7_lesson5.txt", "r") content = my_f.readlines() #извлекаем из текстового файл полный список строк profit = {} #данная переменная будет обновляться в следующем цикле @@ -35,7 +37,11 @@ else: # Убытки склыдваем в переменную lines2 lines2 += line profit.update(my_dict) #объединяем все прибыльные фирмы в один словарь - loss = {"убытки": lines2} #создаём словарь с суммой убытков - av_profit = {"средняя прибыль": lines // divider} + loss = {"losses": lines2} #создаём словарь с суммой убытков + av_profit = {"average profit": lines // divider} print([profit, av_profit, loss]) +data = [profit, av_profit, loss] +with open("my_json.json", "w") as write_f: + json.dump(data, write_f) my_f.close() + From 2c2f3f0268dd71be1deecc0d616762e984c1659e Mon Sep 17 00:00:00 2001 From: Evgeniy Bocharov Date: Wed, 3 Apr 2024 11:52:46 +0300 Subject: [PATCH 3/3] lesson_5_task7_adjusted2 --- .../task_7/task_7.py" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 98efa497c..edcb4c4ba 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" @@ -9,6 +9,8 @@ [{"firm_1": 5000, "firm_2": 3000, "firm_3": 1000}, {"average_profit": 2000}] Подсказка: использовать менеджер контекста. """ + + import json my_f = open("task7_lesson5.txt", "r") @@ -44,4 +46,3 @@ with open("my_json.json", "w") as write_f: json.dump(data, write_f) my_f.close() -