| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- """une boucle donne acces a une liste et offre les fonctionnalites
- supplementaires suivantes: position actuelle, suivant, precedent,
- avancer de n ou de -n
- de plus, si on depasse le dernier element, on revient au premier (et vice-versa)"""
- class Boucle():
- def __init__(self, liste = []):
- self._tours = 0
- self._pos = 0
- self._liste = []
- def liste(self):
- return self._liste
- def majListe(self, liste):
- self._liste = liste
- def position(self):
- return self._pos
- def majPosition(self, pos):
- self._pos = pos
- while self._pos > len(self._liste):
- self._pos -= len(self._liste)
- self._tours += 1
-
- while self._pos < 0:
- self._pos += len(self._liste)
- self._tours -= 1
-
- def actuel(self):
- return self._liste[self._pos]
- def suivant(self):
- self.avancer(1)
-
- def precedent(self):
- self.avancer(-1)
-
- def avancer(self, n):
- self.majPosition((self._pos + n))
- def nbTours(self):
- return self._tours
- def premier(self):
- return self._liste[0]
- def dernier(self):
- return self._liste[len(self._liste)-1]
|