diff --git a/calculator/expression.py b/calculator/expression.py index 1a27f0c5c27494a971e1479b48bd5c6da9f3ae59..a2e750b55c0bef2fa66c89561d019503316fb0af 100644 --- a/calculator/expression.py +++ b/calculator/expression.py @@ -1,8 +1,9 @@ """ Expression module defines the structure of an expression. """ -from calculator.operators import Operator from typing import Union +from calculator.operators import Operator + Term: type = int Token: type = Union[Operator, Term] diff --git a/calculator/operators.py b/calculator/operators.py index f855332c2cbd379592f4dba51d8c8c66e8c1593d..9732f2caf0ce0dd0dc4c9b99e4e02f812601b958 100644 --- a/calculator/operators.py +++ b/calculator/operators.py @@ -6,9 +6,9 @@ class Operator: Operator class is a binary operator with a symbol, a precedence and an evaluation function. """ def __init__(self, symbol, precedence, evaluate_function): - self.symbol = symbol - self.precedence = precedence - self.evaluate_function = evaluate_function + self.symbol = symbol + self.precedence = precedence + self.evaluate_function = evaluate_function def __repr__(self): return self.symbol @@ -17,4 +17,7 @@ class Operator: return self.evaluate_function(left, right) -STANDARD_OPERATORS = { '+': Operator('+', 1, lambda a, b: a + b),'-': Operator('-', 1, lambda a, b: a - b),'*': Operator('×', 2, lambda a, b: a * b),'/': Operator('/', 2, lambda a, b: a / b)} +STANDARD_OPERATORS = { '+': Operator('+', 1, lambda a, b: a + b), +'-': Operator('-', 1, lambda a, b: a - b), +'*': Operator('×', 2, lambda a, b: a * b), +'/': Operator('/', 2, lambda a, b: a / b)} diff --git a/calculator/server.py b/calculator/server.py index e0dc49ae37812a16bb365a45c95771af16f114b5..0e0af20356bf461374ef138f13cf6c89864e7881 100644 --- a/calculator/server.py +++ b/calculator/server.py @@ -1,7 +1,9 @@ -from calculator.calculator import Calculator +"""Import des modules""" from fastapi import FastAPI from fastapi.requests import Request from fastapi.templating import Jinja2Templates +from calculator.calculator import Calculator + app = FastAPI() templates = Jinja2Templates(directory="calculator/templates")