Conversation
Modified calculator, add multiplication
Subtraction function
Add addition to subtraction
Update disivion function
Hw2 lavrov
Add our photo to README
Update README.md
Added Getting started and Example topics
Update README.md
There was a problem hiding this comment.
Привет!
Отличная работа:) Мне особенно понравилось как вы обработали входящее выражение. Конкретные комментарии можете найти ниже.
Обратите только внимания на сообщения коммитов и то что было про это на лекции. Например, у вас я вижу:
- README.md
- Add files via upload (не надо загружать файлы на гитхаб, лучше привыкать работать через локальный репозиторий)
- Add addition to subtraction (тут я запутался, вы добавили одну функцию в другую?, да и вообще при чем тут subtraction)
- Добавлена функция вычитания (сообщения коммитов должны быть по английски)
Также отмечу что есть довольно большая неконсистентность между разными функциями.
И еще отмечу что круто что вы обновили скрипт на основе того что мы обсуждали на лекции!
Баллы: 10/10 (README) + 10/10 (Forks) + 70/80 (код и коммиты) + 10 доп. =
= 90/100 + 10 доп.
Молодцы!
(тимлид, не забудь показать ревью всей команде)
| ## Calculator.py | ||
|
|
||
| ### Description | ||
| How many IB students do we need to write a calculator? |
There was a problem hiding this comment.
| How many IB students do we need to write a calculator? | |
| How many BI students do we need to write a calculator? |
Bioinformatics institute по английски:)
| ### Getting started | ||
| - Make sure you have python installed | ||
| - Get the code: | ||
| ``` | ||
| git clone git@github.com:AL-Lavrov/HW2_Lavrov.git | ||
| ``` | ||
| - Run `calculator.py` in the IDE or in the terminal | ||
| ``` | ||
| python calculator.py |
There was a problem hiding this comment.
Супер! Только ставлю руку на отсечение еще команда cd HW2_Lavrov должна быть:) git clone и cd вообще иногда одной строкой в ридми добавляют.
| ### Example | ||
| ``` | ||
| Input: 5 + 9 | ||
| Output: 14 | ||
| ``` |
| # умножение | ||
| def multiplication(a, b): | ||
| result = a * b | ||
| return result | ||
|
|
||
|
|
||
| def division(x, y): | ||
| return x / y | ||
|
|
||
|
|
||
| # Вычитание | ||
| def subtraction(a, b): | ||
| return a - b |
There was a problem hiding this comment.
- Комменты.
Во-первых, почему то где то есть, а где то нет
Во-вторых, где-то с маленькой буквы, а где то с большой
В-третьих, тут эти комменты и не нужны. Комменты в коде на самом деле зачастую это "мертвый груз". В том смысле что у вас названия функций говорят сами за себя. Обычно комменты принято оставлять чтобы пояснить какие-то нетривиальные вещи.
| # умножение | ||
| def multiplication(a, b): | ||
| result = a * b | ||
| return result | ||
|
|
||
|
|
||
| def division(x, y): | ||
| return x / y | ||
|
|
||
|
|
||
| # Вычитание | ||
| def subtraction(a, b): | ||
| return a - b |
There was a problem hiding this comment.
- Переменные.
Почему где-то a и b, а где-то x и y?:). Ну поскольку мы теперь узнали про PEP-8, могу добавить что однобуквенные имена переменных не рекомендуются. Здесь везде мне кажется оптимальным вариантом были бы num1 и num2.
| def addition(a, b): | ||
| result = a + b | ||
| return result |
There was a problem hiding this comment.
Почему-то где-то через result, а где-то нет:)
|
|
||
|
|
||
| def main(): | ||
| a, operator, b = input().split() |
There was a problem hiding this comment.
Очень круто что использовали сразу split и распаковку! Выглядит очень питонично. Надеюсь, все члены команды понимают как оно работает?
| a = float(a) if "." in a else int(a) | ||
| b = float(b) if "." in b else int(b) |
| if operator == "+": | ||
| print(addition(a, b)) | ||
| elif operator == "-": | ||
| print(subtraction(a, b)) | ||
| elif operator == "*": | ||
| print(multiplication(a, b)) | ||
| elif operator == "/" and b != 0: | ||
| print(division(a, b)) | ||
| elif operator == "/" and b == 0: | ||
| print("Деление на ноль!") |
There was a problem hiding this comment.
Не очень хорошо что результат сразу печатается а никуда его дальше использовать нельзя. Я бы его сохранил в переменную result и помимо печати еще сделал return. Но мы это разобрали только на этой лекции.
There was a problem hiding this comment.
Гораздо более не хорошо на самом деле что в случае деления на 0 - программа работает как будто всё правильно. Точнее, вы конечно обработали этот случай, я вижу. Но на самом деле это избыточно. Ведь в базовом варианте она бы упала на поменте деления на ноль, остановила выполнение и еще бы написала информацию об этом в стандартный поток ошибок! Так гораздо лучше, да и, собственно, ошибки в программировании за тем и были придуманы. Их не надо избегать, они очень полезные.
|
Огромное спасибо за настолько подробный отзыв! |
No description provided.