IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Recupération de variables d'une fonction dans une fonction


Sujet :

Python

  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 2
    Par défaut Recupération de variables d'une fonction dans une fonction
    Bonjour, je me heurte à une problème lors de la programmation d'un programme de cryptographie.

    je n'arrive pas à récupérer les variables qui sont dans une fonction.

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    from tkinter import *
     
    #-------------------------On définis les fonctions--------------------------
     
    def fn1() :
        def valider() :
     
            a = s.get()
            b = sp1.get()
            c = sp2.get()
            return[a, b, c]
     
            fn.destroy
     
        fn = Toplevel()
        fn.geometry("300x200")
     
        messagenoncodé = Label(fn, text = "Votre message doit être en majuscules uniquement!").pack()
     
        entryVar = StringVar()
        s = Entry( fn, textvariable = StringVar() )
        s.pack( side=TOP )
     
        cond1 = Label(fn, text="Le premier coéfficient doit être impair !").pack()
     
        spinVar1 = IntVar()
        sp1 = Spinbox( fn, from_=0, to=26, textvariable = IntVar() )
        sp1.pack()
     
        spinVar2 = IntVar()
        sp2 = Spinbox( fn, from_=0, to=999, textvariable = IntVar() )
        sp2.pack()
     
        Canvas(fn, width = 50, height = 10).pack()
     
        but1 = Button(fn, text ='Valider', command = valider).pack(side = LEFT, padx = 3, pady = 3)
        but4 = Button(fn, text= 'Chiffrer', command = codage).pack(side = TOP, padx = 3, pady = 3)
        but2 = Button(fn, text ='Dechiffrer').pack(side = RIGHT, padx = 3, pady = 3)
        but3 = Button(fn, text = 'Quitter', command = fn.destroy).pack(side = BOTTOM, padx = 3, pady = 3)
     
        lab = Label(fn).pack
     
     
     
     
     
    def codage() :
        x = valider[a]
        for C in x:
            y=(num(C)*(valider[b])+(valider[c]))%26
            print(lettre(y), end="")

    Comment faire pour récupérer les valeurs de a, b et c pour pouvoir les utiliser dans la fonction codage?


    Merci de votre attention

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 732
    Par défaut
    Salut,

    Citation Envoyé par Tatayet10 Voir le message
    Comment faire pour récupérer les valeurs de a, b et c pour pouvoir les utiliser dans la fonction codage?
    En faire les valeurs des éléments d'une liste globale pourrait être une bonne idée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> valider = []
    >>> def set():
    ...     valider[:] = [1, 2, 3]
    ...
    >>> def get():
    ...     print(valider[0], valider[1], valider[2])
    ...
    >>> set()
    >>> get()
    1 2 3
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 2
    Par défaut
    Merci mais je ne comprends pas très bien, je place ce code ou dans mon programme.

    Désoler, je débute vraiment et je ne connait que les bases.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 732
    Par défaut
    Salut,

    Citation Envoyé par Tatayet10 Voir le message
    Merci mais je ne comprends pas très bien, je place ce code ou dans mon programme.
    Vous essayez de comprendre ce qu'il fait puis vous appliquez à votre code.

    Citation Envoyé par Tatayet10 Voir le message
    Désoler, je débute vraiment et je ne connais que les bases.
    Ca se voit: vous ne savez pas ce qu'est une fonction, ni la portée des variables et vous vous lancez dans la programmation tkinter.
    Prenez le temps d'ouvrir un tuto. pour apprendre: on ne va pas coder à votre place et avant de coder, il faut avoir compris quelques bases.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 732
    Par défaut
    Salut,

    Citation Envoyé par Tatayet10 Voir le message
    Merci mais je ne comprends pas très bien, je place ce code ou dans mon programme.
    Vous essayez de comprendre ce qu'il fait puis vous appliquez à votre code.

    Citation Envoyé par Tatayet10 Voir le message
    Désoler, je débute vraiment et je ne connais que les bases.
    Ca se voit: vous ne savez pas ce qu'est une fonction, ni la portée des variables et vous vous lancez dans la programmation tkinter.
    Prenez le temps d'ouvrir un tuto. pour apprendre: on ne va pas coder à votre place et avant de coder, il faut avoir compris quelques bases.
    De plus si vous postez du code, veillez à ce qu'il soit "fonctionnel" surtout si vous espérez que quelqu'un veuille bien le corriger.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/03/2013, 12h05
  2. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  3. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo