Sortir variable d'une fonction

Messages postés
22
Date d'inscription
samedi 29 octobre 2016
Dernière intervention
12 novembre 2018
- 23 oct. 2018 à 21:27 - Dernière réponse :
Messages postés
22
Date d'inscription
samedi 29 octobre 2016
Dernière intervention
12 novembre 2018
- 26 oct. 2018 à 17:21
Bonjour à tous.
Je débute sur python version 3.6.

J'ai une fonction dans mon application qui se nomme :
coller sa elle fonctionne parfaitement bien et je récupère dans une liste box la liste de mes fichiers JPEG.
Voici cette fonction.
NBNL = 0
def LISTIMAGE(dirs1):
   global NBL
   NBL = 0
   for i in dirs1:
      extension = os.path.splitext(i)
      if ".jpg" in extension[1]:
          listbox2.insert(1, i)
          NBL =  NBL+1
      elif  ".JPG" in extension[1]:
          listbox2.insert(1, i)
          NBL =  NBL+1
  

   return(NBL)


À la sortie de cette fonction j'ai une variable intitulé NBL que je veux pouvoir utiliser dans mon application mais en dehors de cette fonction.
J'ai beau appelé ensuite NBL sa valeur état 0 comme initialement dans mon application.
Comment faire ?
D'avance merci de votre aide
Afficher la suite 

Votre réponse

4 réponses

Messages postés
89
Date d'inscription
mardi 30 juillet 2013
Dernière intervention
26 octobre 2018
- 25 oct. 2018 à 19:15
0
Merci
Bonsoir,
NBL ou NBNL ??
Cordialement
hb
Commenter la réponse de hbouia
Messages postés
22
Date d'inscription
samedi 29 octobre 2016
Dernière intervention
12 novembre 2018
- Modifié par jordane45 le 26/10/2018 à 09:25
0
Merci
Bonsoir.
Merci de ta réponse oui effectivement il s'agit de NBL , j'ai fait une erreur de transcription.
NBL = 0
def LISTIMAGE(dirs1):
   global NBL
   NBL = 0
   for i in dirs1:
      extension = os.path.splitext(i)
      if ".jpg" in extension[1]:
          listbox2.insert(1, i)
          NBL =  NBL+1
      elif  ".JPG" in extension[1]:
          listbox2.insert(1, i)
          NBL =  NBL+1
  

   return(NBL)




Dans le même sujet j'ai un scale a l'intérieur d'une fonction et je veux récupérer la valeur du curseur à l'extérieur de cette fonction comme à l'intérieur apres avoir déplacer ce curseur .
Dans Visual Basic on utilise des événements (sur clic droit sur déplacement de la souris… ici je ne vois pas comment je pourrais faire et tenter et en tout état de cause la variable qui se trouve dans la fonction n'est pas récupérée en dehors de la fonction comme mon problème ci-dessus avec la variableNBL.
Si tu peux me sortir de cette difficulté je t'en serais très reconnaissant.
Voici mon code :
import tkinter as tk
import os, sys
from PIL import ImageTk
from tkinter import END
from tkinter import *

root = Tk()
# on ajuste la frnetre a la dimention  ecran
width = .9*root.winfo_screenwidth()
height =.9*root.winfo_screenheight()
root.geometry("%dx%d" % (width, height))
def maj(nouvelleValeur):
    global valeur
    valeur=40
     #création d'un scale
    NBL1 = nouvelleValeur
    y  = NBL1
    interval =y/10
    Scale2 = Scale(
    root,
    orient='horizontal',
    from_=0,
    to=y,
    resolution=1,
    tickinterval=interval,
    length=300,
    )
    Scale2.place(x=300, y=5, width=400, height=60)
    # ci dessous  le print me  donne la valeur 0
    print("valeur du curseur ",Scale2.get())
maj(110)
#ci dessous j'ai une erreur
print("valeur du curseur ",Scale2.get())

root.mainloop()
.
En te remerciant de l'attention que te portera à mon problème de débutants sur python


EDIT : Correction des balises de code
Commenter la réponse de DAN247
Messages postés
89
Date d'inscription
mardi 30 juillet 2013
Dernière intervention
26 octobre 2018
- 26 oct. 2018 à 13:55
0
Merci
Voici un petit code dont tu peux t'inspirer :

import Tkinter

global value
def save_value(val):
    global value
    value=val
#    print val
    
root = Tkinter.Tk()
scale=Tkinter.Scale(orient='horizontal', from_=0, to=128, command=save_value)
scale.pack()
root.mainloop()
print('Valeur du curseur :',value)


Cordialement
hb
Commenter la réponse de hbouia
Messages postés
22
Date d'inscription
samedi 29 octobre 2016
Dernière intervention
12 novembre 2018
- 26 oct. 2018 à 17:21
0
Merci
Bonjour hbouia
merci de ta réponse après l'avoir adapté à ma version de python 3.6 cela fonctionne parfaitement, je vais m'en inspirer et te tenir au courant par contre ma logique m'amène à poser la question d'où vient cette valeur de la variable val qui donne la position du curseur ?
C'est une grande question pour mon esprit rationnel.
Je pensais qu'il fallait faire un get ou un set pour récupérer ou modifier la position du curseur ?
Si tu pouvais éclairer ma lanterne ?
Dès que je peux je m'y remets et je te tiens au courant.
Encore merci.
Bien à toi.
Commenter la réponse de DAN247

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.