first template

This commit is contained in:
Didictateur 2026-02-14 21:59:27 +01:00
parent f8dea939be
commit 5d891505eb
2 changed files with 76 additions and 0 deletions

69
legrandchien.py Normal file
View file

@ -0,0 +1,69 @@
from enum import Enum
import numpy as np
class Operation(Enum):
VAR = 1
CONST = 2
ADD = 3
SUB = 4
MULT = 5
DIV = 6
EXP = 7
# const class
class Const:
def __init__(self, value) -> None:
self.value = value
self.type = "Const"
def __add__(self, other):
if other.type == "Const":
return Equation(
Operation.CONST,
None,
None,
self.value
) + Equation(
Operation.CONST,
None,
None,
other.value
)
if other.type == "Var":
return Equation(
Operation.CONST,
None,
None,
self.value
) + Equation(
Operation.VAR,
None,
None,
other.name
)
if other.type == "Equation":
return Equation(
Operation.CONST,
None,
None,
self.value
) + other
# var class
class Var:
def __init__(self, name) -> None:
self.name = name
self.type = "Var"
# equation class
class Equation:
def __init__(self, op, left, right, value):
self.op = op
self.left = left
self.right = right
self.value = value
self.type = "Equation"
def __add__(self, other):
if other.type == "Equation":
return Equation(Operation.ADD, self, other, None)

7
main.py Normal file
View file

@ -0,0 +1,7 @@
from legrandchien import *
if __name__ == "__main__":
k = Const(3)
kk = Const(4)
eq = k + kk