Исправление калькулятора на питоне
import operator
class Stack:
def __init__(self):
self.stack = []
def push(self, num):
return self.stack.append(num)
def pop(self):
try:
return self.stack.pop()
except IndexError:
raise IndexError('Empty')
OPERATORS = {
'+' : operator.add,
'-' : operator.sub,
'*' : operator.mul,
'/' : operator.floordiv
}
class Calculator:
def __init__(self, array, operators=OPERATORS):
self.array = array
self.operators = operators
def calculation(self, stack=None):
stack = Stack() if stack is None else stack
for item in self.array:
if item in self.operators:
second_num = stack.pop()
first_num = stack.pop()
stack.push(self.operators[item](first_num, second_num))
else:
try:
stack.push(int(item))
except ValueError as error:
raise ValueError(f'{error} - Item is not num!')
return stack.pop()
if __name__ == '__main__':
array = input().split()
stack = Stack()
print(Calculator(array, OPERATORS).calculation(stack))
Нужно исправить def calculation(self, stack=None): "Не стоит использовать дефолтное значение изменяемого типа для аргумента функции https://docs.quantifiedcode.com/python-anti-patterns/correctness/mutable_default_value_as_argument.html Отсутствие это None"
Но посмотрев данную ссылку, я не вижу отличий от того, что написано у меня. Помогите пожалуйста исправить
И еще после всего кода написано "Не хватает id успешно посылки" Не понимаю, что это и как это сделать.