Skip to content

Hw2 lavrov#18

Open
AL-Lavrov wants to merge 27 commits intoPython-BI-2024-25:mainfrom
AL-Lavrov:HW2_Lavrov
Open

Hw2 lavrov#18
AL-Lavrov wants to merge 27 commits intoPython-BI-2024-25:mainfrom
AL-Lavrov:HW2_Lavrov

Conversation

@AL-Lavrov
Copy link

No description provided.

AL-Lavrov and others added 27 commits September 17, 2024 21:11
Modified calculator, add multiplication
Readme for calculator.py
Add our photo to README
Added Getting started and Example topics
Copy link
Contributor

@nvaulin nvaulin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Привет!
Отличная работа:) Мне особенно понравилось как вы обработали входящее выражение. Конкретные комментарии можете найти ниже.

Обратите только внимания на сообщения коммитов и то что было про это на лекции. Например, у вас я вижу:

Также отмечу что есть довольно большая неконсистентность между разными функциями.

И еще отмечу что круто что вы обновили скрипт на основе того что мы обсуждали на лекции!

Баллы: 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?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
How many IB students do we need to write a calculator?
How many BI students do we need to write a calculator?

Bioinformatics institute по английски:)

Comment on lines +12 to +20
### 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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Супер! Только ставлю руку на отсечение еще команда cd HW2_Lavrov должна быть:) git clone и cd вообще иногда одной строкой в ридми добавляют.

Comment on lines +26 to +30
### Example
```
Input: 5 + 9
Output: 14
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍👍

Comment on lines +1 to +13
# умножение
def multiplication(a, b):
result = a * b
return result


def division(x, y):
return x / y


# Вычитание
def subtraction(a, b):
return a - b
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Комменты.

Во-первых, почему то где то есть, а где то нет

Во-вторых, где-то с маленькой буквы, а где то с большой

В-третьих, тут эти комменты и не нужны. Комменты в коде на самом деле зачастую это "мертвый груз". В том смысле что у вас названия функций говорят сами за себя. Обычно комменты принято оставлять чтобы пояснить какие-то нетривиальные вещи.

Comment on lines +1 to +13
# умножение
def multiplication(a, b):
result = a * b
return result


def division(x, y):
return x / y


# Вычитание
def subtraction(a, b):
return a - b
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Переменные.

Почему где-то a и b, а где-то x и y?:). Ну поскольку мы теперь узнали про PEP-8, могу добавить что однобуквенные имена переменных не рекомендуются. Здесь везде мне кажется оптимальным вариантом были бы num1 и num2.

Comment on lines +17 to +19
def addition(a, b):
result = a + b
return result
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Почему-то где-то через result, а где-то нет:)



def main():
a, operator, b = input().split()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Очень круто что использовали сразу split и распаковку! Выглядит очень питонично. Надеюсь, все члены команды понимают как оно работает?

Comment on lines +25 to +26
a = float(a) if "." in a else int(a)
b = float(b) if "." in b else int(b)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Супер!

Comment on lines +28 to +37
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("Деление на ноль!")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не очень хорошо что результат сразу печатается а никуда его дальше использовать нельзя. Я бы его сохранил в переменную result и помимо печати еще сделал return. Но мы это разобрали только на этой лекции.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Гораздо более не хорошо на самом деле что в случае деления на 0 - программа работает как будто всё правильно. Точнее, вы конечно обработали этот случай, я вижу. Но на самом деле это избыточно. Ведь в базовом варианте она бы упала на поменте деления на ноль, остановила выполнение и еще бы написала информацию об этом в стандартный поток ошибок! Так гораздо лучше, да и, собственно, ошибки в программировании за тем и были придуманы. Их не надо избегать, они очень полезные.

@AL-Lavrov
Copy link
Author

Огромное спасибо за настолько подробный отзыв!
Команде отправил

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants