Bonsoir à tous .
Ce bout de code a été simplifié pour le problème.
On modifie une liste E[x] et on veut récupérer cette liste modifiée dans une autre liste nommée Voie[] en utilisant au passage une liste provisoire Pro[].
Ceci se passe dans la fonction autrechemin() (il s'agit d'un travail sur les graphes).
Tout va bien si on fait l'appel depuis le corps du programme. Mais en fait j'appelle autrechemin() depuis une fonction nommée test() et là,impossible de récupérer la liste modifiée Voie pour le corps du programme.
Y-a-t'il une solution ?
En vous remerciant de m'avoir consacré de votre temps
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 import copy def autrechemin(her,long) : for i in range (len(Ex)-1): #Creation d'une liste provisoire destinée a être vidée Pro.append(Ex[i]) #Transmission de Pro à la liste Voie destinée au corps du programme Voie=copy.deepcopy(Pro) del(Pro[:]) print('Liste Voie',Voie) return Voie def test(her,long) : autrechemin(her,long) ###################################################################### Pro=[] Voie=[] Ex=['a', 'c', 'b', 'e'] her=Ex[3] long=len(Ex) #appel direct à partir d'ici qui fonctionne #Voie=autrechemin(her,long) ceci marche #appel de la première fonction Ceci ne marche pas test(her,long) print('Voie terminale',Voie)
Partager