J'ai un projet pour créer une classe tableau circulaire, et la langue que je vais utiliser est python. Je suis nouveau pour les cours en python, mais après avoir lu quelques pages et chapitres de livres, je pense avoir une compréhension de leur fonctionnement. Cependant, j'ai besoin d'aide, alors j'ai pensé que je viendrais aux enseignants merveilleux ici à SO :)classe tableau circulaire en python
Notre classe doit être en mesure d'implémenter plusieurs opérations; insérer à l'avant, insérer à l'arrière, insérer à l'index, retirer de l'avant, retirer de l'arrière, retirer de l'index.
J'ai commencé à coder mais je rencontre des problèmes, et je ne suis pas sûr à 100% que ma syntaxe est correcte.
Voici ce que j'ai jusqu'à présent:
class circular:
def __init__(self):
self.store = []
self.capacity = len(self.store)
self.size = 0
self.startIndex = 0
self.endIndex = 0
def decrementIndex(self):
index = index - 1
if index < 0:
self.store = self.store + self.capacity
def incrementIndex(self):
index = index + 1
if index == self.capacity:
index = index - self.capacity
def addToBack(self, value):
self.store[self.endIndex] = value
self.endIndex = incrementIndex(self.endIndex)
self.size += 1
def addToFront(self, value):
if self.size == 0:
addToBack(self, value)
else:
self.startIndex = decrementIndex(self.startIndex)
self.store[self.startIndex] = value
self.size += 1
Je me suis arrêté là pour commencer à tester certaines des fonctions, principalement t-il addTofront et addToback. En les testant dans IDLE en utilisant c = circular() et c.addToBack (2), j'obtiens une erreur d'index ... et je ne sais pas pourquoi. Ce n'est pas le seul problème, c'est juste là où je suis coincé et j'ai besoin d'aide pour aller de l'avant.
Je poste ici parce que j'ai besoin d'aide et que je veux apprendre, pas parce que je suis paresseux et n'ai pas essayé de rechercher mon problème. Merci déjà!
'a = []; a [1] = 3' va créer la même erreur. vous ne pouvez pas écrire dans un index inexistant. qu'est-ce que vous essayez de faire, est-ce un tampon (taille fixe) * tampon *? –
@yi_H oui c'est un projet pour écrire un tampon circulaire fixe qui effectue les opérations ci-dessus. J'ai corrigé le problème d'index et je reçois maintenant des erreurs non définies pour chaque fonction que j'appelle, donc quelque chose ne va pas avec ma syntaxe que je devine. – roboman
vous devez utiliser 'self .' –