import random def nbaleat(): basenb = random.randint(1,9) return basenb class colaleat: def __init__(self): self.value = [] self.value.append(nbaleat()) #print "On ajoute ",self.value[0] cpt = 0 while cpt < 8: cpt = cpt + 1 ok = 0 while ok == 0: ok = 1 nbtemp = nbaleat() cpt2 = 0 while cpt2 < len(self.value): if nbtemp == self.value[cpt2]: ok = 0 #print "Rate, voulu ",nbtemp cpt2 = cpt2 + 1 self.value.append(nbtemp) def affiche(self): bla = 0 while bla < len(self.value): print self.value[bla] bla = bla + 1 class tabaleat: def __init__(self): self.col = [] self.col.append(colaleat()) #print "On a ajoute la premiere" cpt = 0 while cpt < 7: cpt = cpt + 1 #print "nouvelle colonne : ",cpt ok = 0 compteur = 0 while ok == 0: compteur = compteur + 1 ok = 1 coltemp = colaleat() cpt2 = 0 while cpt2 < len(self.col): if self.col[cpt2].value[0] == coltemp.value[0]: ok = 0 if self.col[cpt2].value[1] == coltemp.value[1]: ok = 0 if self.col[cpt2].value[2] == coltemp.value[2]: ok = 0 if self.col[cpt2].value[3] == coltemp.value[3]: ok = 0 if self.col[cpt2].value[4] == coltemp.value[4]: ok = 0 if self.col[cpt2].value[5] == coltemp.value[5]: ok = 0 if self.col[cpt2].value[6] == coltemp.value[6]: ok = 0 if self.col[cpt2].value[7] == coltemp.value[7]: ok = 0 if self.col[cpt2].value[8] == coltemp.value[8]: ok = 0 cpt2 = cpt2 + 1 #print "Test ",compteur,"colonne ",cpt self.col.append(coltemp) #print "On ajoute la colonne ",cpt if len(self.col) == 8: #on calcule la derniere #print "On ajoute la derniere" ligne = 0 colfin = colaleat() while ligne < 9: nbtemp = 45 - self.col[0].value[ligne] - self.col[1].value[ligne] - self.col[2].value[ligne] - self.col[3].value[ligne] - self.col[4].value[ligne] - self.col[5].value[ligne] - self.col[6].value[ligne] - self.col[7].value[ligne] colfin.value[ligne] = nbtemp ligne = ligne + 1 self.col.append(colfin) cpt = cpt + 1 def affiche(self): cpt = 0 while cpt < 9: print self.col[0].value[cpt],self.col[1].value[cpt],self.col[2].value[cpt],self.col[3].value[cpt],self.col[4].value[cpt],self.col[5].value[cpt],self.col[6].value[cpt],self.col[7].value[cpt],self.col[8].value[cpt] cpt = cpt + 1 cric = tabaleat() #cric.affiche()