Rafraichissement d'affichage : probleme de "return" ?
Bonjour,
Je cherche a faire s'afficher plusieurs blocs d'images, dans un ordre défini par un numéro de liste entré a l'ouverture du programme.
Voici un condensé du code (les listes d'images "paysage" et "social" ainsi que la fonction Afficher(bloc_image) sont bien sûr définies en amont):
Code:
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
|
def Changement_partie (liste, bloc):
bloc_image = bloc_entrainement
if bloc == 1 :
if liste == 1 :
bloc_image = social
elif liste == 2:
bloc_image = paysage
elif bloc == 2 :
if liste == 1 :
bloc_image = paysage
elif liste == 2 :
bloc_image = social
random.shuffle(bloc_image)
return bloc_image
if __name__ == '__main__':
try:
liste = raw_input("Numero de liste ? (1 / 2): ").lower()
for k in range (1,2):
consigne, bloc_image = Changement_partie(liste,k)
Affichage(consigne)
......
..... |
Si je ne définie pas bloc_image des le début de ma fonction, j'ai un message d'erreur du type "bloc_image refferenced before assignement". J'ai compris pourquoi a l'aide d'internet mais :
je ne comprends pas pourquoi, lorsque je fais tourner le bloc tel que présenté, bloc_image ne devient jamais l'une de mes listes "social" ou "paysage" mais reste toujours bloc_entrainement.
Une erreur de compréhension du fonctionnement de "return" ?
Je vous remercie par avance de votre aide.
NB : je travaille avec python 2.7