From 6f2e5b59a545880b4841c78bc5c3d1578487ad4a Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Mon, 13 Feb 2023 21:37:53 +0300 Subject: [PATCH 01/19] added 1 task in lesson 1 --- .../task_1.py" | 5 +++++ 1 file changed, 5 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 1. \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.py" "b/\320\243\321\200\320\276\320\272 1. \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.py" index fe0df5951..ade91be52 100644 --- "a/\320\243\321\200\320\276\320\272 1. \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.py" +++ "b/\320\243\321\200\320\276\320\272 1. \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.py" @@ -11,3 +11,8 @@ Введите ваш возраст: 45 Ваши данные для входа в аккаунт: имя - Василий, пароль - vas, возраст - 45 """ +name = input('Введите ваше имя: ') +age = int(input('Введите ваш возраст: ')) +job = input('Введите вашу должность: ') +status_mar = input('Введите ваше семейное положение: ') +print(f"Это {name}. Ему(ей) {age}. Он(а) работает на позиции {job} и неплохо зарабатывает. И, кстати, {status_mar}.") From 63b46f070477c85d7668cbe24e53375276b52762 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Mon, 13 Feb 2023 21:43:26 +0300 Subject: [PATCH 02/19] added 2 task in lesson 2 --- .../task_2.py" | 5 +++++ 1 file changed, 5 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 1. \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.py" "b/\320\243\321\200\320\276\320\272 1. \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.py" index 840e3fa00..656ba3583 100644 --- "a/\320\243\321\200\320\276\320\272 1. \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.py" +++ "b/\320\243\321\200\320\276\320\272 1. \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.py" @@ -9,3 +9,8 @@ Введите время в секундах: 3600 Время в формате ч:м:с - 1.0 : 60.0 : 3600 """ +user_sec_input = int(input('Введите количество секунд: ')) +hour = user_sec_input//(60*60) +minute = (user_sec_input - hour*(60*60))//60 +second = user_sec_input - hour*(60*60) - minute*60 +print(f" {hour}:{minute}:{second}") \ No newline at end of file From 8a4a1d8df40cb057a1c6012cde40ae5596024eb8 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Mon, 13 Feb 2023 21:44:30 +0300 Subject: [PATCH 03/19] added 3 task in lesson 1 --- .../task_3.py" | 5 +++++ 1 file changed, 5 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 1. \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.py" "b/\320\243\321\200\320\276\320\272 1. \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.py" index 0c08706fd..7504ddeab 100644 --- "a/\320\243\321\200\320\276\320\272 1. \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.py" +++ "b/\320\243\321\200\320\276\320\272 1. \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.py" @@ -8,3 +8,8 @@ Введите число n: 3 n + nn + nnn = 369 """ +n = int(input('Введите число n: ')) +if n >10: + print("Введите однозначное число") +else: + print(n+(n*11)+(n*111)) From 49429fc68d9f55d86f586b24e2ddf5ec06580b72 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Mon, 13 Feb 2023 21:45:21 +0300 Subject: [PATCH 04/19] added 4 task in lesson 1 --- .../task_4.py" | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 1. \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.py" "b/\320\243\321\200\320\276\320\272 1. \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.py" index 9acac6dd3..119e55e8b 100644 --- "a/\320\243\321\200\320\276\320\272 1. \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.py" +++ "b/\320\243\321\200\320\276\320\272 1. \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.py" @@ -10,3 +10,11 @@ Ведите целое положительное число: 123456789 Самая большая цифра в числе: 9 """ +a = int(input('Введите число: ')) +b = a%10 +a = a//10 +while a > 0: + if a%10 > b: + b = a%10 + a = a//10 +print(b) \ No newline at end of file From 484fe89d63a01732852318942f2ee418ed947c97 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Mon, 13 Feb 2023 21:50:06 +0300 Subject: [PATCH 05/19] added 5 task in lesson 1 --- .../task_5.py" | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 1. \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.py" "b/\320\243\321\200\320\276\320\272 1. \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.py" index 51682803e..b05d2f296 100644 --- "a/\320\243\321\200\320\276\320\272 1. \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.py" +++ "b/\320\243\321\200\320\276\320\272 1. \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.py" @@ -18,3 +18,14 @@ Введите численность сотрудников фирмы: 10 Прибыль фирмы в расчете на одного сотрудника = 50.0 """ +revenue = int(input('Введите выручку фирмы: ')) +costs = int(input('Введите издержки фирмы: ')) +if revenue > costs: + profitability = ((revenue - costs)/revenue)*100 + emp_number = int(input('Введите число сотрудников компании: ')) + profit_per_person = (revenue - costs)/emp_number + print(f"Рентабельность компании равна {profitability}%. Прибыль в расчёте на каждого сотрудника равна {profit_per_person} рублей.") +elif revenue < costs: + print('Компания работает в убыток') +else: + print('Компания работает в ноль') \ No newline at end of file From 9a2f6debaf06f46a10e0c97e353a98e6840a4135 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Mon, 13 Feb 2023 21:50:47 +0300 Subject: [PATCH 06/19] added 6 task in lesson 1 --- .../task_6.py" | 7 +++++++ 1 file changed, 7 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 1. \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.py" "b/\320\243\321\200\320\276\320\272 1. \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.py" index 3c46df32d..ef8e50698 100644 --- "a/\320\243\321\200\320\276\320\272 1. \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.py" +++ "b/\320\243\321\200\320\276\320\272 1. \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.py" @@ -19,3 +19,10 @@ 6-й день: 3,22 Ответ: на 6-й день спортсмен достиг результата — не менее 3 км. """ +fact_result = int(input('Введите результат спортсмена в 1 день: ')) #результат спортсмена в 1-й день +plan_result = int(input('Введите планируемый результат спортсмена: ')) #результат спортсмена в n-ый день +n = 1 +while fact_result < plan_result: + fact_result = fact_result * 1.1 + n += 1 +print (f"Спортсмену понадобится {n} дней") \ No newline at end of file From 17a2285128854d00e5d3332239d9f949b617d119 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Wed, 22 Mar 2023 21:09:33 +0300 Subject: [PATCH 07/19] added 5 tasks in lesson 2 --- .../task_1.py" | 15 +++++---------- .../task_2.py" | 8 ++++++++ .../task_3.py" | 3 +++ .../task_4.py" | 7 +++++++ .../task_5.py" | 7 +++++++ 5 files changed, 30 insertions(+), 10 deletions(-) diff --git "a/\320\243\321\200\320\276\320\272 2. \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.py" "b/\320\243\321\200\320\276\320\272 2. \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.py" index efb8c5f98..68ca0a024 100644 --- "a/\320\243\321\200\320\276\320\272 2. \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.py" +++ "b/\320\243\321\200\320\276\320\272 2. \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.py" @@ -4,14 +4,9 @@ Использовать функцию type() для проверки типа. Элементы списка можно не запрашивать у пользователя, а указать явно, в программе. - -Пример: -для списка [5, "string", 0.15, True, None] -результат - - - - - - """ + +list = [1, "а", 34.6] +print(type(list[0])) +print(type(list[1])) +print(type(list[2])) diff --git "a/\320\243\321\200\320\276\320\272 2. \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.py" "b/\320\243\321\200\320\276\320\272 2. \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.py" index 1e152143c..78646751c 100644 --- "a/\320\243\321\200\320\276\320\272 2. \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.py" +++ "b/\320\243\321\200\320\276\320\272 2. \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.py" @@ -11,3 +11,11 @@ Введите целые числа через пробел: 1 2 3 Результат: 2 1 3 """ +list = input('Введите список через запятую: ').split(',') +n = len(list) +b = 0 +while b < ((n // 2) * 2): + list.insert(b, list[b + 1]) + list.pop(b + 2) + b = b + 2 +print(list) \ No newline at end of file diff --git "a/\320\243\321\200\320\276\320\272 2. \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.py" "b/\320\243\321\200\320\276\320\272 2. \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.py" index 48a89eb99..7b2fd7094 100644 --- "a/\320\243\321\200\320\276\320\272 2. \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.py" +++ "b/\320\243\321\200\320\276\320\272 2. \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.py" @@ -8,3 +8,6 @@ Результат через список: Осень Результат через словарь: Осень """ +month_dict = dict(zip([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], ['Зима', 'Зима', 'Весна', 'Весна', 'Весна', 'Лето', 'Лето', 'Лето', 'Осень', 'Осень', 'Осень', 'Зима'])) +n = int(input('Введите номер месяца: ')) +print(month_dict.get(n)) \ No newline at end of file diff --git "a/\320\243\321\200\320\276\320\272 2. \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.py" "b/\320\243\321\200\320\276\320\272 2. \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.py" index 977970e9a..69304857f 100644 --- "a/\320\243\321\200\320\276\320\272 2. \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.py" +++ "b/\320\243\321\200\320\276\320\272 2. \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.py" @@ -14,3 +14,10 @@ 1. раз 2. перерефриж """ +user_string = input('Введите несколько слов через пробел: ') +word_list = user_string.split(' ') +n = len(word_list) +a = 0 +while a <= (n - 1): + print (a + 1, str(word_list[a])[0:10]) + a = a + 1 \ No newline at end of file diff --git "a/\320\243\321\200\320\276\320\272 2. \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.py" "b/\320\243\321\200\320\276\320\272 2. \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.py" index 4e74de593..00897b37b 100644 --- "a/\320\243\321\200\320\276\320\272 2. \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.py" +++ "b/\320\243\321\200\320\276\320\272 2. \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.py" @@ -15,3 +15,10 @@ Набор натуральных чисел можно задать непосредственно в коде, например, my_list = [7, 5, 3, 3, 2]. """ +my_list = [5, 4, 3, 2, 2] +a = input ('Введите число: ') +print(my_list) +for i in range(1): + my_list.append(int(a)) + my_list.sort(reverse=True) +print(my_list) From 9ae94e680dd4e4ae96699d39368224a6e0ae1d23 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Thu, 23 Mar 2023 20:23:02 +0300 Subject: [PATCH 08/19] last commit --- .../task_1.py" | 5 +---- .../task_2.py" | 8 -------- .../task_3.py" | 3 --- .../task_4.py" | 7 ------- .../task_5.py" | 8 +------- 5 files changed, 2 insertions(+), 29 deletions(-) diff --git "a/\320\243\321\200\320\276\320\272 2. \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.py" "b/\320\243\321\200\320\276\320\272 2. \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.py" index 68ca0a024..2d8cba57e 100644 --- "a/\320\243\321\200\320\276\320\272 2. \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.py" +++ "b/\320\243\321\200\320\276\320\272 2. \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.py" @@ -6,7 +6,4 @@ а указать явно, в программе. """ -list = [1, "а", 34.6] -print(type(list[0])) -print(type(list[1])) -print(type(list[2])) + diff --git "a/\320\243\321\200\320\276\320\272 2. \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.py" "b/\320\243\321\200\320\276\320\272 2. \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.py" index 78646751c..1e152143c 100644 --- "a/\320\243\321\200\320\276\320\272 2. \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.py" +++ "b/\320\243\321\200\320\276\320\272 2. \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.py" @@ -11,11 +11,3 @@ Введите целые числа через пробел: 1 2 3 Результат: 2 1 3 """ -list = input('Введите список через запятую: ').split(',') -n = len(list) -b = 0 -while b < ((n // 2) * 2): - list.insert(b, list[b + 1]) - list.pop(b + 2) - b = b + 2 -print(list) \ No newline at end of file diff --git "a/\320\243\321\200\320\276\320\272 2. \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.py" "b/\320\243\321\200\320\276\320\272 2. \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.py" index 7b2fd7094..48a89eb99 100644 --- "a/\320\243\321\200\320\276\320\272 2. \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.py" +++ "b/\320\243\321\200\320\276\320\272 2. \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.py" @@ -8,6 +8,3 @@ Результат через список: Осень Результат через словарь: Осень """ -month_dict = dict(zip([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], ['Зима', 'Зима', 'Весна', 'Весна', 'Весна', 'Лето', 'Лето', 'Лето', 'Осень', 'Осень', 'Осень', 'Зима'])) -n = int(input('Введите номер месяца: ')) -print(month_dict.get(n)) \ No newline at end of file diff --git "a/\320\243\321\200\320\276\320\272 2. \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.py" "b/\320\243\321\200\320\276\320\272 2. \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.py" index 69304857f..977970e9a 100644 --- "a/\320\243\321\200\320\276\320\272 2. \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.py" +++ "b/\320\243\321\200\320\276\320\272 2. \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.py" @@ -14,10 +14,3 @@ 1. раз 2. перерефриж """ -user_string = input('Введите несколько слов через пробел: ') -word_list = user_string.split(' ') -n = len(word_list) -a = 0 -while a <= (n - 1): - print (a + 1, str(word_list[a])[0:10]) - a = a + 1 \ No newline at end of file diff --git "a/\320\243\321\200\320\276\320\272 2. \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.py" "b/\320\243\321\200\320\276\320\272 2. \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.py" index 00897b37b..abaff7512 100644 --- "a/\320\243\321\200\320\276\320\272 2. \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.py" +++ "b/\320\243\321\200\320\276\320\272 2. \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.py" @@ -15,10 +15,4 @@ Набор натуральных чисел можно задать непосредственно в коде, например, my_list = [7, 5, 3, 3, 2]. """ -my_list = [5, 4, 3, 2, 2] -a = input ('Введите число: ') -print(my_list) -for i in range(1): - my_list.append(int(a)) - my_list.sort(reverse=True) -print(my_list) + From 74915729ef2c0b1b9c37bfeee2c10beaad5a0648 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Mon, 3 Apr 2023 21:51:23 +0300 Subject: [PATCH 09/19] added 1 task hw 3 --- .../task_1.py" | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 3. \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.py" "b/\320\243\321\200\320\276\320\272 3. \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.py" index 4b1004ea9..ba549f639 100644 --- "a/\320\243\321\200\320\276\320\272 3. \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.py" +++ "b/\320\243\321\200\320\276\320\272 3. \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.py" @@ -17,3 +17,12 @@ Process finished with exit code 0 """ +def calc_1(): + try: + arg1 = int(input('Введите первое число: ')) + arg2 = int(input('Введите второе число: ')) + except ZeroDivisionError: + return print('Делить на 0 нельзя') + res_1: int = arg1 // arg2 + return res_1 +print (calc_1()) From e4b75b3040e11e23bb0bd33c19330b375594a866 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Mon, 3 Apr 2023 21:51:32 +0300 Subject: [PATCH 10/19] added 2 task hw 3 --- .../task_2.py" | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 3. \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.py" "b/\320\243\321\200\320\276\320\272 3. \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.py" index b0177eb44..dbcbed2c7 100644 --- "a/\320\243\321\200\320\276\320\272 3. \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.py" +++ "b/\320\243\321\200\320\276\320\272 3. \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.py" @@ -8,3 +8,14 @@ Иван Иванов 1846 года рождения, проживает в городе Москва, email: jackie@gmail.com, телефон: 01005321456 """ + +# f_name = input('Введите имя: ') +# l_name = input('Введите фамилию: ') +# city = input('Введите город: ') +# def second_func(f_name, l_name, city): +# print = f_name, l_name, " из города", city + +def func_2(name, l_name, city): + print(f"{name} {l_name} из города {city}") +func_2(name = input('Введите имя: '), l_name = input('Введите фамилию: '), city = input('Введите город: ')) + From a45f5bfef92f755837960157c1a3a35e7f1a847c Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Mon, 3 Apr 2023 21:51:43 +0300 Subject: [PATCH 11/19] added 3 task hw 3 --- .../task_3.py" | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 3. \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.py" "b/\320\243\321\200\320\276\320\272 3. \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.py" index 4385ba3cf..c328c3199 100644 --- "a/\320\243\321\200\320\276\320\272 3. \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.py" +++ "b/\320\243\321\200\320\276\320\272 3. \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.py" @@ -5,3 +5,17 @@ 1) используя функцию sort() 2) без функции sort() """ +# def my_func(arg1, arg2, arg3): +# if arg1 >= arg3 and arg2 >= arg3: +# return arg1 + arg2 +# elif arg1 > arg2 and arg1 < arg3: +# return arg1 + arg3 +# else: +# return arg2 + arg3 +# print(my_func(int(input('Введите число 1: ')), int(input('Введите число 2: ')), int(input('Введите число 3: ')))) + +def my_func(arg1, arg2, arg3): + a = [arg1,arg2,arg3] + a.sort(reverse = True) + return a[0]+a[1] +print(my_func(int(input('Введите число 1: ')), int(input('Введите число 2: ')), int(input('Введите число 3: ')))) \ No newline at end of file From 9aa21e968b20fe3d2c2ba314010e6b40745cd866 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Mon, 3 Apr 2023 21:51:57 +0300 Subject: [PATCH 12/19] added 4 task hw 3 --- .../task_4.py" | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 3. \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.py" "b/\320\243\321\200\320\276\320\272 3. \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.py" index f6274e1bf..ce2a8daab 100644 --- "a/\320\243\321\200\320\276\320\272 3. \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.py" +++ "b/\320\243\321\200\320\276\320\272 3. \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.py" @@ -4,4 +4,13 @@ При решении задания необходимо обойтись без встроенной функции возведения числа в степень! ВНИМАНИЕ: использование встроенной функции = задание не принято Постараться придумать свой алгоритм без ** + """ +def my_func(x, y): + a = x + y = abs(y) + while y >= 0: + a = a / x + y = y - 1 + return float(a) +print(my_func(int(input('Введите х положительное: ')), int(input('Введите y отрицательное: ')))) \ No newline at end of file From 147cc3d9d269c103e87c647b9df9a29895d8915d Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Mon, 3 Apr 2023 21:52:10 +0300 Subject: [PATCH 13/19] added 5 task hw 3 --- .../task_5.py" | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 3. \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.py" "b/\320\243\321\200\320\276\320\272 3. \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.py" index 6eb90d579..9c95ffa62 100644 --- "a/\320\243\321\200\320\276\320\272 3. \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.py" +++ "b/\320\243\321\200\320\276\320\272 3. \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.py" @@ -6,3 +6,23 @@ символ введен после нескольких чисел, то вначале нужно добавить сумму этих чисел к полученной ранее сумме и после этого завершить программу. """ + +def my_sum (): + sum_res = 0 + ex = False + while ex == False: + number = input('Введите числа через пробел или нажмите q для выхода - ').split() + + res = 0 + for el in range(len(number)): + if number[el] == 'q' or number[el] == 'Q': + ex = True + break + else: + res = res + int(number[el]) + sum_res = sum_res + res + print(f'Current sum is {sum_res}') + print(f'Your final sum is {sum_res}') + + +my_sum() \ No newline at end of file From e345eb29fc7b64b6d92d15db8ab4d53e55b43e64 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Mon, 3 Apr 2023 21:52:29 +0300 Subject: [PATCH 14/19] added 6,7 tasks hw 3 --- .../task_6.py" | 5 +++++ 1 file changed, 5 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 3. \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.py" "b/\320\243\321\200\320\276\320\272 3. \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.py" index 965966284..444d4b771 100644 --- "a/\320\243\321\200\320\276\320\272 3. \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.py" +++ "b/\320\243\321\200\320\276\320\272 3. \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.py" @@ -8,3 +8,8 @@ Сделать вывод исходной строки, но каждое слово должно начинаться с заглавной буквы. Необходимо использовать написанную ранее функцию int_func(). """ +def int_func (*args): + word = input("Введите слово(а) ") + print(word.title()) + return +int_func() \ No newline at end of file From e5e430b58d137a892485452a611953183bacdec1 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Sat, 3 Jun 2023 17:12:10 +0300 Subject: [PATCH 15/19] added task 1 HW 8 --- .../task_1.py" | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 8. \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.py" "b/\320\243\321\200\320\276\320\272 8. \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.py" index 5b4641e41..ddcff5197 100644 --- "a/\320\243\321\200\320\276\320\272 8. \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.py" +++ "b/\320\243\321\200\320\276\320\272 8. \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.py" @@ -12,3 +12,46 @@ Второй, с декоратором @staticmethod, должен проводить валидацию числа, месяца и года (например, месяц — от 1 до 12). Проверить работу полученной структуры на реальных данных. """ + + +class Data: + def __init__(self, day_month_year): + # self.day = day + # self.month = month + # self.year = year + self.day_month_year = str(day_month_year) + + @classmethod + def extract(cls, day_month_year): + my_date = [] + + for i in day_month_year.split(): + if i != '-': my_date.append(i) + + return int(my_date[0]), int(my_date[1]), int(my_date[2]) + + @staticmethod + def valid(day, month, year): + + if 1 <= day <= 31: + if 1 <= month <= 12: + if 2023 >= year >= 0: + return f'All right' + else: + return f'Неправильный год' + else: + return f'Неправильный месяц' + else: + return f'Неправильный день' + + def __str__(self): + return f'Текущая дата {Data.extract(self.day_month_year)}' + + +today = Data('11 - 1 - 2001') +print(today) +print(Data.valid(11, 11, 2025)) +print(today.valid(11, 13, 2011)) +print(Data.extract('11 - 11 - 2011')) +print(today.extract('11 - 11 - 2020')) +print(Data.valid(1, 11, 2000)) From 62e3726b62214e1de8c1badf072226de8ab28107 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Sat, 3 Jun 2023 17:20:50 +0300 Subject: [PATCH 16/19] added task 2 HW 8 --- .../task_2.py" | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 8. \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.py" "b/\320\243\321\200\320\276\320\272 8. \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.py" index 12e1c68b3..8b3f87798 100644 --- "a/\320\243\321\200\320\276\320\272 8. \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.py" +++ "b/\320\243\321\200\320\276\320\272 8. \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.py" @@ -5,3 +5,20 @@ Проверьте его работу на данных, вводимых пользователем. При вводе пользователем нуля в качестве делителя программа должна корректно обработать эту ситуацию и не завершиться с ошибкой. """ + +class DivisionByZeroError(Exception): + pass +def divide(a, b): + if b == 0: + raise DivisionByZeroError("Делить на ноль нельзя") + return a / b + +try: + a = float(input("Введите число для деления: ")) + b = float(input("Введите число, на которое нужно поделить: ")) + result = divide(a, b) + print(f"Результат: {result}") +except DivisionByZeroError as e: + print(f"Ошибка: {e}") +except ValueError: + print("Error: Некоррентный ввод") \ No newline at end of file From 9d9a7e88b49cc2133f59d4c21918a1d66c59cd38 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Sat, 3 Jun 2023 17:26:27 +0300 Subject: [PATCH 17/19] added task 2 HW 8 --- .../task_3.py" | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 8. \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.py" "b/\320\243\321\200\320\276\320\272 8. \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.py" index ae100adca..f46fab5e6 100644 --- "a/\320\243\321\200\320\276\320\272 8. \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.py" +++ "b/\320\243\321\200\320\276\320\272 8. \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.py" @@ -9,3 +9,33 @@ Класс-исключение должен контролировать типы данных элементов списка. """ +class NotNumberError(Exception): + pass + +def get_numbers(): + numbers = [] + while True: + try: + user_input = input("Введите число или 'stop' для завершения: ") + if user_input == 'stop': + break + number = float(user_input) + numbers.append(number) + except ValueError: + print("Ошибка: допустимо вводить только числа") + except NotNumberError as e: + print(f"Ошибка: {e}") + return numbers + +class NumberList(list): + def append(self, value): + if not isinstance(value, (int, float)): + raise NotNumberError("Допустимо вводить только числа") + super().append(value) + +try: + number_list = NumberList() + number_list.extend(get_numbers()) + print(f"Список чисел: {number_list}") +except NotNumberError as e: + print(f"Ошибка: {e}") \ No newline at end of file From d5f9cd0c7ae6e2863bcea7ddf8c2145d44815e15 Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Sat, 3 Jun 2023 17:34:48 +0300 Subject: [PATCH 18/19] added task 2 HW 8 --- .../task_4_5_6.py" | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 8. \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_5_6.py" "b/\320\243\321\200\320\276\320\272 8. \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_5_6.py" index 29a002d49..457b6836f 100644 --- "a/\320\243\321\200\320\276\320\272 8. \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_5_6.py" +++ "b/\320\243\321\200\320\276\320\272 8. \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_5_6.py" @@ -19,3 +19,66 @@ Подсказка: постарайтесь по возможности реализовать в проекте «Склад оргтехники» максимум возможностей, изученных на уроках по ООП. """ +class StoreMashines: + + def __init__(self, name, price, quantity, number_of_lists, *args): + self.name = name + self.price = price + self.quantity = quantity + self.numb = number_of_lists + self.my_store_full = [] + self.my_store = [] + self.my_unit = {'Модель устройства': self.name, 'Цена за ед': self.price, 'Количество': self.quantity} + + def __str__(self): + return f'{self.name} цена {self.price} количество {self.quantity}' + + # @classmethod + # @staticmethod + def reception(self): + # print(f'Для выхода - Q, продолжение - Enter') + # while True: + try: + unit = input(f'Введите наименование ') + unit_p = int(input(f'Введите цену за ед ')) + unit_q = int(input(f'Введите количество ')) + unique = {'Модель устройства': unit, 'Цена за ед': unit_p, 'Количество': unit_q} + self.my_unit.update(unique) + self.my_store.append(self.my_unit) + print(f'Текущий список -\n {self.my_store}') + except: + return f'Ошибка ввода данных' + + print(f'Для выхода - Q, продолжение - Enter') + q = input(f'---> ') + if q == 'Q' or q == 'q': + self.my_store_full.append(self.my_store) + print(f'Весь склад -\n {self.my_store_full}') + return f'Выход' + else: + return StoreMashines.reception(self) + + +class Printer(StoreMashines): + def to_print(self): + return f'to print smth {self.numb} times' + + +class Scanner(StoreMashines): + def to_scan(self): + return f'to scan smth {self.numb} times' + + +class Copier(StoreMashines): + def to_copier(self): + return f'to copier smth {self.numb} times' + + +unit_1 = Printer('hp', 2000, 5, 10) +unit_2 = Scanner('Canon', 1200, 5, 10) +unit_3 = Copier('Xerox', 1500, 1, 15) +print(unit_1.reception()) +print(unit_2.reception()) +print(unit_3.reception()) +print(unit_1.to_print()) +print(unit_3.to_copier()) From 5e6f88e39d5b455539774e7e3b623fe19b9a934d Mon Sep 17 00:00:00 2001 From: Polina Kleymenova Date: Sat, 3 Jun 2023 17:38:36 +0300 Subject: [PATCH 19/19] added task 7 HW 8 --- .../task_7.py" | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git "a/\320\243\321\200\320\276\320\272 8. \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.py" "b/\320\243\321\200\320\276\320\272 8. \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.py" index 023fa7dbd..4ddd869ca 100644 --- "a/\320\243\321\200\320\276\320\272 8. \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.py" +++ "b/\320\243\321\200\320\276\320\272 8. \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.py" @@ -6,3 +6,32 @@ создав экземпляры класса (комплексные числа) и выполнив сложение и умножение созданных экземпляров. Проверьте корректность полученного результата. """ +class ComplexNumber: + def __init__(self, real, imag): + self.real = real + self.imag = imag + + def __add__(self, other): + return ComplexNumber(self.real + other.real, self.imag + other.imag) + + def __mul__(self, other): + return ComplexNumber(self.real * other.real - self.imag * other.imag, self.real * other.imag + self.imag * other.real) + + def __str__(self): + if self.imag >= 0: + return f"{self.real}+{self.imag}i" + else: + return f"{self.real}{self.imag}i" + + +# создаем два комплексных числа +a = ComplexNumber(2, 3) +b = ComplexNumber(-1, 4) + +# складываем и перемножаем числа +c = a + b +d = a * b + +# выводим результаты +print(f"({a}) + ({b}) = {c}") +print(f"({a}) * ({b}) = {d}") \ No newline at end of file