Auto urgent commit.

This commit is contained in:
2025-01-27 10:58:38 +01:00
parent ff8b4d6d50
commit a53a44a130
4 changed files with 93 additions and 1 deletions

20
graphes/maze/fifo.py Normal file
View File

@@ -0,0 +1,20 @@
class Pile:
def __init__(self) -> None:
self.element = []
def empiler(self,element)->None:
self.element.append(element)
def est_vide(self)->bool:
return len(self.element) == 0
def defiler(self):
assert not self.est_vide(), "La pile est vide"
return self.element.pop()
def size(self)->int:
return len(self.element)
def index(self, k):
assert not self.est_vide(), "La pile est vide"
return self.element[k]

View File

@@ -18,4 +18,3 @@ class Queue:
def index(self, k):
assert self.est_vide() , "La file est vide"
return self.element[k]

View File

@@ -0,0 +1,22 @@
import fifo
import lifo
class Labyrinth:
def __init__(self, rows, cols) -> None:
self.rows = rows
self.cols = cols
self.grid = [[1 for _ in range(cols)]for _ in range(rows)]
self.visited = [[False for _ in range(cols)]for _ in range(rows)]
self.stack = fifo.Pile()
self.queue = lifo.Queue()
self.start = None
self.end = None
def __str__(self) -> str:
return "\n".join("".join(" " if cell == 0 else "#" for cell in row) for row in self.grid)
def set_start_end(self, start, end):
self.start = start
self.end = end
def generate_maze(self):
pass

51
graphes/maze/test.py Normal file
View File

@@ -0,0 +1,51 @@
from fifo import Pile # Remplacez "fifo" par le nom exact de votre fichier contenant la classe Pile
# Initialisation
pile = Pile()
# Test de empiler
pile.empiler(5)
pile.empiler(10)
assert pile.size() == 2, "Erreur : La taille de la pile devrait être 2"
assert pile.element == [5, 10], "Erreur : Les éléments de la pile ne correspondent pas"
# Test de est_vide
assert not pile.est_vide(), "Erreur : La pile ne devrait pas être vide"
pile.defiler()
pile.defiler()
assert pile.est_vide(), "Erreur : La pile devrait être vide après avoir défiler tous les éléments"
# Test de defiler
pile.empiler(7)
pile.empiler(3)
assert pile.defiler() == 3, "Erreur : Le dernier élément défilé devrait être 3"
assert pile.defiler() == 7, "Erreur : Le dernier élément défilé devrait être 7"
try:
pile.defiler()
assert False, "Erreur : defiler devrait lever une exception pour une pile vide"
except AssertionError as e:
pass # Test réussi
# Test de size
pile.empiler(4)
assert pile.size() == 1, "Erreur : La taille de la pile devrait être 1"
pile.defiler()
assert pile.size() == 0, "Erreur : La taille de la pile devrait être 0 après defiler"
# Test de index
pile.empiler(1)
pile.empiler(2)
pile.empiler(3)
assert pile.index(0) == 1, "Erreur : L'élément à l'index 0 devrait être 1"
assert pile.index(2) == 3, "Erreur : L'élément à l'index 2 devrait être 3"
try:
pile.defiler()
pile.defiler()
pile.defiler()
pile.index(0)
assert False, "Erreur : index devrait lever une exception pour une pile vide"
except AssertionError as e:
pass # Test réussi
print("Tous les tests sont passés avec succès !")