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)
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...
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?