Python: name is not defined
golum
-
sebsauvage Messages postés 32893 Date d'inscription Statut Modérateur Dernière intervention -
sebsauvage Messages postés 32893 Date d'inscription Statut Modérateur Dernière intervention -
Salut tout le monde,
Chuis débutant en Python; je suis en train de coder le jeu Tours d'hanoi et g trouvé un pbl pour la source suivante, il me dit lors de l'affectation de la variable jeu que 'clHanoiTxt is not defined.
Pourriez vs m'aider.
Merci
import string import hanoi class clHanoiTxt : def __init__ ( self,hauteur ) : self.hauteur = hauteur self.hanoi = hanoi.clHanoi(hauteur) def ReprDisque( self, taille ) : if ( taille == 0 ) : return "!" s = "="*taille return "<"+s+"!"+s+">" def AfficherJeu (self) : largeur_max = len(self.ReprDisque(self.hauteur))+2 print (string.center("o",largeur_max)+" ")*3 etages = range(1,self.hauteur+1) etages.reverse() for disque in etages : for tour in self.hanoi.tours : taille = tour.disque(disque) repr = self.ReprDisque(taille) print string.center(repr, largeur_max), print print(" "*largeur_max+" ")*3 h = int(raw_input("Nombre de disques?")) jeu = clHanoiTxt(h) jeu.AfficherJeu()
A voir également:
- Name is not defined python francais
- What is my movie français - Télécharger - Divers TV & Vidéo
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Télécharger adobe reader 9.1 français gratuit - Télécharger - PDF
- Fixwin 11 en français - Télécharger - Divers Utilitaires
1 réponse
D'après ce que je vois, au niveau indentation, jeu = clHanoiTxt(h) est au même niveau que def __init__
Donc pour Python, les 3 dernière lignes de ton programme font partie de ta classe.
Il faut qu'ils soient en début de ligne.
Pense à bien indenter ton code (utiliser 4 ou 8 espaces).
Là on distingue difficile les blocs, ce qui mène rapidement à des erreurs.
Donc pour Python, les 3 dernière lignes de ton programme font partie de ta classe.
Il faut qu'ils soient en début de ligne.
Pense à bien indenter ton code (utiliser 4 ou 8 espaces).
Là on distingue difficile les blocs, ce qui mène rapidement à des erreurs.
import string import hanoi class clHanoiTxt : def __init__ ( self,hauteur ) : self.hauteur = hauteur self.hanoi = hanoi.clHanoi(hauteur) def ReprDisque( self, taille ) : if ( taille == 0 ) : return "!" s = "="*taille return "<"+s+"!"+s+">" def AfficherJeu (self) : largeur_max = len(self.ReprDisque(self.hauteur))+2 print (string.center("o",largeur_max)+" ")*3 etages = range(1,self.hauteur+1) etages.reverse() for disque in etages : for tour in self.hanoi.tours : taille = tour.disque(disque) repr = self.ReprDisque(taille) print string.center(repr, largeur_max), print print(" "*largeur_max+" ")*3 h = int(raw_input("Nombre de disques?")) jeu = clHanoiTxt(h) jeu.AfficherJeu()