赞
踩
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.
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+" ")*3h = int(raw_input("Nombre de disques?"))jeu = clHanoiTxt(h)jeu.AfficherJeu()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。