Skip to content

HW2_Patskan#12

Open
hosp54 wants to merge 21 commits intoPython-BI-2024-25:mainfrom
hosp54:HW2_Patskan
Open

HW2_Patskan#12
hosp54 wants to merge 21 commits intoPython-BI-2024-25:mainfrom
hosp54:HW2_Patskan

Conversation

@hosp54
Copy link

@hosp54 hosp54 commented Sep 19, 2024

No description provided.

Copy link

@eksytnik eksytnik left a comment

Choose a reason for hiding this comment

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

Привет!

В целом - всё отлично. Небольшие замечания по сообщениям к коммитам:

  1. Формулировка "main.py" - она всё-таки выглядит как добавление нового файла в проект, а не новой функции в один из файлов проекта, это сбивает с толку. Лучше писать Add multiplication function.
  2. Они должны быть с большой буквы.

Сам код очень аккуратно сделан, лайк! У меня там много комментариев, но они все про best practice, а не про ошибки.

Баллы: 10/10 (README) + 10/10 (Forks) + 78/80 (код и коммиты) + 10 доп. =
= 98/100 + 10 доп.


*Эвелина Кудашева*, *Анастасия Шипунова*, *Валерия Афанасьева*, *Иван Пацкан* *(Team Leader)*

![image](https://github.com/user-attachments/assets/3a4fdefc-5d69-4fd0-9867-640ab930d456)

Choose a reason for hiding this comment

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

README хорошее, коротко и по делу.

#Функция умножения:
def multiplication(a, b):
res = a * b
return res

Choose a reason for hiding this comment

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

В остальных функциях просто return a * b.
Не ошибка, но на будущее лучше сохранять единообразие в оформлении кода.

#Функция деления
def division(a, b):
if b == 0:
return 'На ноль делить нельзя'

Choose a reason for hiding this comment

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

  1. Супер, что об этом кейсе подумали.
  2. Мы еще пройдём, как с этим правильно обращаться, на будущее - возвращать строку не стоит. Если функция возвращает результат деления и ожидается, что там будет число - получить в ответ какую-то строку это очень непредсказуемое поведение, которое в остальном коде очень сложно учесть. Если это никак не обрабатывать - будет ошибка деления на 0 и это хорошо, с ошибками прекрасно можно работать - про это чуть позже будет материал.

Пока мы не проходили эту тему, поэтому это просто замечание на будущее, на баллы не влияет!

print(res)
elif elements[1] == '-':
res = subtraction(elements[0], elements[2])
print(res)

Choose a reason for hiding this comment

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

Чуть лучше было бы печатать один раз в конце. Результат и так кладется в переменную, if-ы взаимоисключающие.

Так код получается чуть короче, чуть понятнее - и его проще изменить, если решили в какой-то момент не печатать, а что-то другое с результатом делать.



print('''Добро пожаловать в калькулятор. Введите строку в таком виде: "5 + 9".
Чтобы закончить работу с калькулятором, введите "стоп".''')

Choose a reason for hiding this comment

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

👍 Супер, что сделали флаг выхода и повтор программы



#Функция сложения
def addition(a, b):

Choose a reason for hiding this comment

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

Хорошая практика - использовать не a, b, а что-то в духе num1, num2. "Говорящие" сами за себя переменные помогают читабельности кода - вот эта штука у нас складывает два числа.
Еще аннотации помогают, но про них позже, и они не всегда есть - а названия переменных не выкинешь из кода с:

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.

4 participants