Bonjour tout le monde ^^
(un petit bonjour en direct live de la réunion en espérant que ca vous apporte du soleil)
voila j'ai un petit soucis sur une fonction en particulier sur ordonnerListe
voici le code :
en fait je veux que ordonnerListe ordonne par ordre alphabétique les noms et si certains noms sont identiques qu'il trie ces noms par ordre alphabétique des prénoms .....hors la il ne trie que les noms par ordre alphabetique et des que des noms sont identiques il ne trie pas par prénoms et je vois pas ou ça coince dans mon code ... si quelqu'un peut m'aider merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 class Contact : population=0 def __init__(self,nom,prenom): self.nom=nom self.prenom=prenom Contact.population +=1 def __del__ (self): Contact.population -=1 def __str__ (self): return self.nom+' '+self.prenom class ContactsListe : def __init__(self): self._liste=[] def __len__(self): return len(self._liste) def ajouterContact (self,nom,prenom): self._liste.append(Contact(nom,prenom)) self.ordonnerListe() def enleverContact(self,indice): del self._liste[indice] def afficheContacts (self): if self._liste : print '-'*40 for x in self._liste : print str(x) print '-'*40 else : print "La liste de contacts est vide" def ordonnerListe (self): self._liste = sorted(self._liste, key=lambda Contact: Contact.nom) for x in range(len(self._liste)-1) : if self._liste[x].nom == self._liste[x+1].nom : debut=x fin=x while self._liste[x].nom == self._liste[x+1].nom : fin=x+1 x+=1 self._liste[debut:fin]=sorted(self._liste[debut:fin], key= lambda Contact: Contact.prenom)![]()
Partager