Je viens de réaliser la fonction suivante qui renvoie pour tout n entier, l'ensemble de ses parties de telle façon qu'elles soient uniques...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 def listePartie(n): if n==0: return [[]] else: rev=listePartie(n-1)[:] rev.reverse() copy=[] p=[] for element in rev: p=element+[n] copy.append(p) return (partie(n-1)+copy)
Si vous tester pour 3 , vous obtiendrez quelque chose du genre :
[], [1], [1, 2], [2], [2, 3], [1, 2, 3], [1, 3], [3]
Je dois maintenant faire une fonction qui prend en paramètre un n, et un k entier, qui cette fois ne renvoie que les parties de n qui sont de tailles égales à k... j'ai éssayer de reprendre ma fonction précedente en ajoutant un test mais je n'y parviens pas. Auriez vous une solution?
Partager