bonjour j'ai un souci avec ce code :
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
def permutations(L):
    #prend une liste L=[1,2,..,n] à n éléments
    #renvoie une liste de n! listes correspondant à toutes les permutations de L
    n=len(L)
    if (n==1):
        print("ici")
        return([L])
    else:
        P=[]
        for i in range(n-1):
            Lcoupe=L[:i]+L[i+1:]#on enlève le i-ème éléments de L
            print(Lcoupe)
            Pcoupe=permutations[Lcoupe]#on prend les permutations de L tronquée
            P+=[x+[i] for x in Pcoupe]#on prend les permutations précédentes
            #auxquelles on rajoute i à la fin
            """ le principe consiste par exemple sur L=[1,2,3,4,5,6] à faire toutes les
            Lcoupe=[1,2,4,5,6] (ici en sucrant i=3)
            on fait leur 5! permutations [1,2,4,5,6],[2,1,4,5,6] etc
            et on leur rajoute 3 à la fin [1,2,4,5,6,3],[2,1,4,5,6,3]
            et on recommence en remplaçant i=3 par i=4 etc.
            """
print(permutations([1]))#fonctionne
print(permutations([1,2]))#me renvoie l'erreur suivante : 'function' object is not subscriptable
on dirait qu'il n'accepte pas ma définition par récursivité et je ne parviens pas à comprendre pourquoi
je suis sous Python 3.x
Vincent