Probleme Python

Fermé
alvaro - 22 avril 2004 à 23:46
 alvaro - 23 avril 2004 à 00:57

Salut
Qq pourrait me dire c koi l'erreur ds c code en python, je suis debutant en python et je vois vraiment pas le probleme, en fait je essai de faire le jeu tours d'hanoi.

Merci
# _*_ coding: utf-8 _*_

class clTour :
  hauteur_max = 0
  disques = []
  def __init__ (self, hauteur) :
   self.hauteur_max = hauteur

  def remplir(self) :
   self.disques = range (1, self.hauteur_max+1)
  # range est une fonction spéciale de Python, el retourne une
  # liste d'entiers compris entre le premier param et le dernier non compris
   self.disques.reverse()
  # trie la liste en ordre décroissant
  
  def sommet(self) :
   if ( len(self.disques) > 0 ) :
     return len(self.disques)
   else :
    return 0
  
  def nbDisques(self) :
   return len(self.disques)
  
  def transferer(self, vers_tour) : 
    if ( self.nbDisques() > 0 ) : 
      if ( self.sommet() < vers_tour.sommet() or \
           (vers_tour.nbDisques() == O) ) : 
        vers_tour.disques.append(self.sommet())
# append  ajoute l'objet passe par paramètre un fin de liste
        del self.disques[-1]
# supprime le dernier élément de la liste     
      else :
        print "Impossible d'empiler un disque sur un plus petit"
    else :
      print "Tour vide, rien à transférer"

t1 = clTour(5)
t1.remplir()
print "t1=", t1.disques
print "t1=", len(t1.disques) 

t2 = clTour(5)
t1.transferer(t2)
print "t2=", t2.disques
A voir également:

2 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 662
23 avril 2004 à 00:56
A cette ligne là:
(vers_tour.nbDisques() == O) ) : 


Tu as mis un O majuscule au lieu d'un zéro :-)
0

Oh! non
Merci
0