Написать калькулятор на Python
1 000 руб. за проект
Необходимо написать скрипт в соответствии с требованиями.
Желательно с пояснительными комментариями.
Важно: Просто скрипт из интернета без ООП и использования описанных методов не принимается.
Проанализируйте код.
operators = {
'+': lambda a, b: a + b,
'-': lambda a, b: a - b,
'*': lambda a, b: a * b,
'**': lambda a, b: a ** b,
'/': lambda a, b: a / b,
'//': lambda a, b: a // b,
'%': lambda a, b: a % b
}
spam = operators.get('+')
print(spam(1, 2))
Перепишите код с использованием парадигмы ООП.
Требования к решению.
Желательно с пояснительными комментариями.
Важно: Просто скрипт из интернета без ООП и использования описанных методов не принимается.
Проанализируйте код.
operators = {
'+': lambda a, b: a + b,
'-': lambda a, b: a - b,
'*': lambda a, b: a * b,
'**': lambda a, b: a ** b,
'/': lambda a, b: a / b,
'//': lambda a, b: a // b,
'%': lambda a, b: a % b
}
spam = operators.get('+')
print(spam(1, 2))
Перепишите код с использованием парадигмы ООП.
Требования к решению.
- Код соответствует РЕР8.
- Код имеет модульную структуру.
- Используется type hinting (typing, collections.abc).
- Особое внимание уделите неймингу.
- Код отвечает рекомендациям SOLID.
- Есть четкое разделение “реализация - интерфейс”.
- Аргументов может быть больше двух (не только a, b).
- Использованы минимум три паттерна проектирования “Декоратор”, “Фабричный метод”, “Одиночка”. “Декоратор” дополняет “Фабричный метод”. “Одиночка” используется для реализации простейшего логгера и может быть использован в связке со “Стратегией”. Например, пишем логи в консоль, если файл лога содержит более пяти строк (как показательное решение), то вывод в консоль.
- * При реализации обратите внимание, что калькуляторов может быть в будущем несколько, например, обычный, научный, инженерный и т.д.
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.