From 33434763df281bed0596cb034047beee66453b6c Mon Sep 17 00:00:00 2001 From: rereremin <114501294+rereremin@users.noreply.github.com> Date: Tue, 12 Sep 2023 22:11:11 +0300 Subject: [PATCH 01/14] Add function with addition --- calculator.py | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 calculator.py diff --git a/calculator.py b/calculator.py new file mode 100644 index 0000000..a23a85d --- /dev/null +++ b/calculator.py @@ -0,0 +1,2 @@ +def additional(a, b): + return a + b \ No newline at end of file From dcdfecf40bf275c9727574fc88bcf2a9f14f3f18 Mon Sep 17 00:00:00 2001 From: sofiyaga Date: Tue, 12 Sep 2023 22:56:35 +0300 Subject: [PATCH 02/14] Add function main --- calculator.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 calculator.py diff --git a/calculator.py b/calculator.py new file mode 100644 index 0000000..5aaf933 --- /dev/null +++ b/calculator.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# coding: utf-8 + +# In[1]: + + +def main(): + expression = input("Введите математическое выражение: ") + number1, operator, number2 = expression.split() + number1 = float(number1) + number2 = float(number2) + result = None + if operator == "+": + result = add(number1, number2) + elif operator == "-": + result = subtract(number1, number2) + elif operator == "*": + result = multiply(number1, number2) + elif operator == "/": + result = divide(number1, number2) + else: + print("Неверный оператор") + return + print(f"Результат: {result:.2f}") +main() + From 91d25e3520d09bb0acb1e1ec87b788e8eb0a4ac1 Mon Sep 17 00:00:00 2001 From: 1799mrd Date: Tue, 12 Sep 2023 23:24:43 +0300 Subject: [PATCH 03/14] add divide function --- calculator.py | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 calculator.py diff --git a/calculator.py b/calculator.py new file mode 100644 index 0000000..5df2688 --- /dev/null +++ b/calculator.py @@ -0,0 +1,2 @@ +def divide(a, b): + return a / b From 9943785f3a3b7964bde3490eaaf88675623f820a Mon Sep 17 00:00:00 2001 From: rereremin <114501294+rereremin@users.noreply.github.com> Date: Tue, 12 Sep 2023 23:28:14 +0300 Subject: [PATCH 04/14] Update calculator.py --- calculator.py | 1 - 1 file changed, 1 deletion(-) diff --git a/calculator.py b/calculator.py index c41dfb8..6c8c131 100644 --- a/calculator.py +++ b/calculator.py @@ -19,6 +19,5 @@ def main(): print(f"Результат: {result:.2f}") main() -======= def additional(a, b): return a + b From a5c3efa0ad75462f4ac3997689d8ab91d204b66d Mon Sep 17 00:00:00 2001 From: 1799mrd Date: Wed, 13 Sep 2023 00:01:40 +0300 Subject: [PATCH 05/14] divide --- calculator.py | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/calculator.py b/calculator.py index de6045d..5df2688 100644 --- a/calculator.py +++ b/calculator.py @@ -1,25 +1,2 @@ - def divide(a, b): return a / b - -def main(): - expression = input("Введите математическое выражение: ") - number1, operator, number2 = expression.split() - number1 = float(number1) - number2 = float(number2) - result = None - if operator == "+": - result = add(number1, number2) - elif operator == "-": - result = subtract(number1, number2) - elif operator == "*": - result = multiply(number1, number2) - elif operator == "/": - result = divide(number1, number2) - else: - print("Неверный оператор") - return - print(f"Результат: {result:.2f}") -main() - - From 3dc6ce3e23b409b92179eed4c93e4d7703e46335 Mon Sep 17 00:00:00 2001 From: Natalia Date: Wed, 13 Sep 2023 00:19:38 +0300 Subject: [PATCH 06/14] Add subtraction --- calculator.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/calculator.py b/calculator.py index 6c8c131..bd36d0b 100644 --- a/calculator.py +++ b/calculator.py @@ -1,4 +1,5 @@ - +def subtract(a, b): + return a - b def main(): expression = input("Введите математическое выражение: ") number1, operator, number2 = expression.split() From c3907b0a588bc0cad1f00c837416d57fa102c4d4 Mon Sep 17 00:00:00 2001 From: Natalia Date: Wed, 13 Sep 2023 00:30:33 +0300 Subject: [PATCH 07/14] Add substaction operation --- calculator.py | 1 + 1 file changed, 1 insertion(+) diff --git a/calculator.py b/calculator.py index bd36d0b..7931aef 100644 --- a/calculator.py +++ b/calculator.py @@ -1,5 +1,6 @@ def subtract(a, b): return a - b + def main(): expression = input("Введите математическое выражение: ") number1, operator, number2 = expression.split() From 79ff40ccf5d153b003848941386ab8b71e1926b1 Mon Sep 17 00:00:00 2001 From: Artyom Date: Wed, 13 Sep 2023 03:31:34 +0300 Subject: [PATCH 08/14] Add function multilply --- calculator.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/calculator.py b/calculator.py index 4272bf6..1e23e8a 100644 --- a/calculator.py +++ b/calculator.py @@ -1,4 +1,5 @@ - +def multiply(a, b): + return a * b def divide(a, b): return a / b From b4d30b98f2f5fb53b729734bc71a5eb447662a84 Mon Sep 17 00:00:00 2001 From: rereremin <114501294+rereremin@users.noreply.github.com> Date: Wed, 13 Sep 2023 00:49:59 +0300 Subject: [PATCH 09/14] Update add function --- calculator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/calculator.py b/calculator.py index 56c3e20..e3efa05 100644 --- a/calculator.py +++ b/calculator.py @@ -7,7 +7,7 @@ def subtract(a, b): def divide(a, b): return a / b -def additional(a, b): +def add(a, b): return a + b def main(): From 68a79e2d9f74e42b4893c68a020beb58a822dde5 Mon Sep 17 00:00:00 2001 From: Natalia Date: Wed, 13 Sep 2023 01:09:53 +0300 Subject: [PATCH 10/14] add subtraction operation --- HW2_Erofeeva/calculator.py | 26 ++++++++++++++++++++++++++ calculator.py | 4 ++++ 2 files changed, 30 insertions(+) create mode 100644 HW2_Erofeeva/calculator.py diff --git a/HW2_Erofeeva/calculator.py b/HW2_Erofeeva/calculator.py new file mode 100644 index 0000000..37145b8 --- /dev/null +++ b/HW2_Erofeeva/calculator.py @@ -0,0 +1,26 @@ +def subtract(a, b): + return a - b + + +def main(): + expression = input("Введите математическое выражение: ") + number1, operator, number2 = expression.split() + number1 = float(number1) + number2 = float(number2) + result = None + if operator == "+": + result = add(number1, number2) + elif operator == "-": + result = subtract(number1, number2) + elif operator == "*": + result = multiply(number1, number2) + elif operator == "/": + result = divide(number1, number2) + else: + print("Неверный оператор") + return + print(f"Результат: {result:.2f}") +main() + +def additional(a, b): + return a + b diff --git a/calculator.py b/calculator.py index 7931aef..33356bc 100644 --- a/calculator.py +++ b/calculator.py @@ -1,6 +1,10 @@ def subtract(a, b): return a - b + + + + def main(): expression = input("Введите математическое выражение: ") number1, operator, number2 = expression.split() From 40fefda960d073c943087f262d575fc5c524feee Mon Sep 17 00:00:00 2001 From: rereremin <114501294+rereremin@users.noreply.github.com> Date: Wed, 13 Sep 2023 14:15:54 +0300 Subject: [PATCH 11/14] Update subtract function from wrong pull-request --- calculator.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/calculator.py b/calculator.py index e3efa05..efd45a1 100644 --- a/calculator.py +++ b/calculator.py @@ -1,9 +1,6 @@ def multiply(a, b): return a * b -def subtract(a, b): - return a - b - def divide(a, b): return a / b From 9eafefea29a5c74f711dd1490bb5690aa2caa2bb Mon Sep 17 00:00:00 2001 From: rereremin <114501294+rereremin@users.noreply.github.com> Date: Wed, 13 Sep 2023 14:18:00 +0300 Subject: [PATCH 12/14] Delete HW2_Erofeeva directory --- HW2_Erofeeva/calculator.py | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 HW2_Erofeeva/calculator.py diff --git a/HW2_Erofeeva/calculator.py b/HW2_Erofeeva/calculator.py deleted file mode 100644 index 37145b8..0000000 --- a/HW2_Erofeeva/calculator.py +++ /dev/null @@ -1,26 +0,0 @@ -def subtract(a, b): - return a - b - - -def main(): - expression = input("Введите математическое выражение: ") - number1, operator, number2 = expression.split() - number1 = float(number1) - number2 = float(number2) - result = None - if operator == "+": - result = add(number1, number2) - elif operator == "-": - result = subtract(number1, number2) - elif operator == "*": - result = multiply(number1, number2) - elif operator == "/": - result = divide(number1, number2) - else: - print("Неверный оператор") - return - print(f"Результат: {result:.2f}") -main() - -def additional(a, b): - return a + b From 948a705e4a0a29fa1558e126d88f202120831f19 Mon Sep 17 00:00:00 2001 From: rereremin <114501294+rereremin@users.noreply.github.com> Date: Wed, 13 Sep 2023 14:46:05 +0300 Subject: [PATCH 13/14] Update README.md Add information about our team --- README.md | 65 ++++++++++++++----------------------------------------- 1 file changed, 16 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index 1664a01..2a94ce4 100644 --- a/README.md +++ b/README.md @@ -1,49 +1,16 @@ -# HW2_Git_and_python -*This is the repo for the second homework of the BI Python 2023 course* - -### Homework description -В качестве данного ДЗ вам будет необходимо познакомиться с командной работой через GitHub, а также освежить в памяти основые концепции языка Python, которые вы проходили во вступительном курсе. Прочтите внимательно все инструкции перед тем приступить к выполнению задания, при необоходимости задавайте вопросы в общем чате или личных сообщениях. Текст задания большой потому что подробный. Со временем подробностей в ДЗ будет меньше (хорошо ли это?). - -#### Основное задание - -В этом задании вам надо будет написать мини-программу `calculator.py`. Программа должна принимать на вход (через `input()`) строку с некоторым математическим выражением и печатать число - результат вычисления этого выражения. Гарантируется что выражение состоит из двух чисел (`int` или `float`) и математического оператора между ними (один из 4: `+ - * /`). Все указанные элементы разделены пробелами (пример: `5 - 3`). Реализуйте внутри скрипта 5 функций: `main` и 4 отдельные функции на каждый из типов математических операций. Функция `main` внутри себя должна принимать входное выражение, отдавать его на вычисление соответствующей функции, получать результат и печатать его на экран. Каждая из 4 функций лишь принимает определенное выражение от главной функции, вычисляет его и возвращает результат главной функции. - -**Tехническое требование к заданию.** - -Это задание будет выполняться в командах по 4-5 человек. Каждый из членов команды должен внести ***как минимум*** 1 функцию в скрипт `calculator.py`. Каждое внесение функции должно сопровождаться коммитом с осмысленным описанием коммита. Ниже приведена последовательность действий для успешного выполнения задания: - -1. Посмотрите состав своей команды здесь ([**ССЫЛКА**](https://plausible-cannon-091.notion.site/Teams-for-HW2-429f378d25db4723a2979cd5434efc95?pvs=4)). Самостоятельно выбирете тимлида в вашей команде. Распределите кто какую из 5-и функций будет писать. -2. Тимлид должен сделать форк данного репозитория (убедитесь что вы убрали галочку в пункте **`Copy the** master **branch only`)**. Тимлид **создает новую ветку** `HW2_`. После этого тимлид отправляет каждому ссылку на форкнутый репозиторий. -3. Каждый член команды делает свой собственный форк с репозитория тимлида. После этого клонирует свой собственный форк к себе на локальный компьютер. -4. Локально в этом репозитории пишет в скрипте его часть работы. Скрипт `calculator.py` должен лежать в папке `HW2_` и может быть либо создан тимлидом в пункте 2 (тогда члены команды пишут код в имеющемся файле), либо же каждый член команды создает локально данный файл независимо от коллег. Это на выбор команды. -5. Каждый член команды после завершения своей части работы коммитит свои локальные изменения с ************************осмысленным************************ сообщением коммита и делает push в свой удаленный репозиторий. На этом этапе вам может потребоваться сделать синхронизацию с репозиторием тимлида, если там уже произошли изменения (это во вкладке *sync fork* → *fetch*, см. скриншот в [Notion](https://plausible-cannon-091.notion.site/Python-course-8b1f0f28506543bcba2a74c9b411a6cb)) -6. После этого из персональных удаленных репозиториев делается *pull-request* в репозиторий тимлида **в ветку** `HW2_` чтобы собрать все куски кода воедино (это во вкладке *contribute* → *open pull request*, см. скриншот) -7. Тимлид (или любой другой член команды) дополняет общий репозиторий файлом `README.md` который содержит описание вашей мини-программы и состав команды разработчиков. -8. После завершения работы тимлид делает *pull-request* вашего командного репозитория обратно в репозиторий курса (в соответствующую ветку!) для проверки (также через *contribute*). - -return: прикрепите ссылку на pull-request тимлида в Google Class (можете сделать от лица каждого члена команды, но это не обязательно). - -#### Советы - -- Задание не требует написания большого или сложного кода на python, но является достаточно сложным с точки зрения синхронизации членов команды. Лучший способ сделать его - это устроить командный созвон в Zoom / Discord / Google meet / … и всем вместе выполнить его. Вы можете делать демонстрацию экрана тимлида чтобы все поняли что происходит или экранов коллег которым нужна помощь. -- В работе с Git всегда что-то может пойти не так. Существует несколько способов отмены изменений, которые стоит освоить в ходе учебы в ИБ. Тем не менее, первое время нет ничего плохого в том чтобы просто удалить всё и начать заново! -- Задание может вызывать трудности в работе с Git. Пока еще только начало сентября и скорее всего нет завалов по другим делам - я советую потратить лишнее время и разобраться в пробелах. - -#### Дополнительное задание - -1. Прикрепите в `README.md` файле скриншот созвона вашей команды. - -#### Разбалловка - -- За каждую из 5 функций с осмысленным сообщением коммита и своим автором - **1.6 балла** (итого 1.6 * 5 = 8) -- За наличие полноценного README - **1 балл** -- За правильную структуру форков как описано выше - **1 балл** -- За доп. задание - **1 доп. балл** - -Баллы начисляются всем членам команды одинаково. - -#### Предполагаемый **учебный результат** - -Это задание позволит получить реальный опыт работы с Git и GitHub в командных проектах. Далее этот навык окажется незаменимым. Также это задание позволит вам познакомиться с сокурсниками. - -Удачи! ✨✨ +**Состав команды разработчиков:** +1. Жерко Никита (тимлид) +2. Торопов Артем +3. Виноградова София +4. Ерофеева Наталья +5. Мухаметшина Регина + +Нашей командой была разработана программа "Калькулятор", осуществляющая простейшие арифметические операции (сложение, вычитание, деление, умножение) с целыми и дробными числами. +Каждый член команды написал по одной функции: +1. Виноградова София - main() +2. Торопов Артем - muliply() +3. Мухаметшина Регина - divide() +4. Жерко Никита - add() +5. Ерофеева Наталья - subtract() + +zoom From f4e5421a3a2da7226e1fc817551df9d655b644e0 Mon Sep 17 00:00:00 2001 From: rereremin <114501294+rereremin@users.noreply.github.com> Date: Wed, 13 Sep 2023 14:47:13 +0300 Subject: [PATCH 14/14] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2a94ce4..4275c5e 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Нашей командой была разработана программа "Калькулятор", осуществляющая простейшие арифметические операции (сложение, вычитание, деление, умножение) с целыми и дробными числами. Каждый член команды написал по одной функции: 1. Виноградова София - main() -2. Торопов Артем - muliply() +2. Торопов Артем - multiply() 3. Мухаметшина Регина - divide() 4. Жерко Никита - add() 5. Ерофеева Наталья - subtract()