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

Tkinter Python Discussion :

interface graphique en tknter des methodes d'analyse numerique


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2017
    Messages : 17
    Points : 12
    Points
    12
    Par défaut interface graphique en tknter des methodes d'analyse numerique
    Prire de m'aider c urgent !!!



    voici mon 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
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    from tkinter import *
    from math import *
    from f import f
    from g import g
    f= Tk()
    #f['bg']='grey'
    f.geometry("500x250+700+400")
    f.title('Analyse numerique')
     
    #L1 = Label(f,text="f(x) =")
    #L1.pack()
    #L1.place(x=40,y=20)
    #vart=StringVar()
    #e1 = Entry(f,textv=vart,width=10)
    #e1.pack()
    #e1.place(x=100,y=20)
    L2 = Label(f,text="a =")
    L2.pack()
    L2.place(x=40,y=60)
    vart=DoubleVar()
    e2 = Entry(f,textv=vart,width=10)
    e2.pack()
    e2.place(x=100,y=60)
    L3 = Label(f,text="b =")
    L3.pack()
    L3.place(x=40,y=100)
    vart=DoubleVar()
    e3 = Entry(f,textv=vart,width=10)
    e3.pack()
    e3.place(x=100,y=100)
    L4 = Label(f,text="epsilon =")
    L4.pack()
    L4.place(x=40,y=140)
    vart=DoubleVar()
    e4 = Entry(f,textv=vart,width=10)
    e4.pack()
    e4.place(x=100,y=140)
    L5 = Label(f,text="x 0 =")
    L5.pack()
    L5.place(x=40,y=180)
    vart=DoubleVar()
    e5 = Entry(f,textv=vart,width=10)
    e5.pack()
    e5.place(x=100,y=180)
    L6 = Label(f,text="n =")
    L6.pack()
    L6.place(x=40,y=220)
    vart=DoubleVar()
    e6 = Entry(f,textv=vart,width=10)
    e6.pack()
    e6.place(x=100,y=220)
    L0 = Label(f,text="x =")
    L0.pack()
    L0.place(x=350,y=90)
    input = []
    L= Label(f,text=input)
    L.pack()
    L.place(x=380,y=90)
     
     
     
    def dichotomie(f,a,b,n):
        for i in range(n):
            c = (a+b)/2
            if f(a)*f(c) <= 0:
                b = c
            else:
                a = c
        return a,b
     
    def newton(f,g,u_0,epsilon):
     #f(u_n)=f’(u_n)*(u_n-u_{n+1})
     u=u_0 #u contient u_n
     v=u-f(u)/g(u) #v contient u_{n+1}
     while fabs(u-v)>epsilon:
       u=v
       v=u-f(u)/g(u)
     return v
     
     
    def secante(f,a,b,n):
     for i in range(n):
           a = a-f(a)*(b-a)/(f(b)-f(a))
     return a 
     
     
    def callback1():
        #f=e1.get()
        a=e2.get()
        b=e3.get()
        epsilon=e4.get()
        #result=(int)result
        result = dichotomie(f,a,b,epsilon)
        L.config(text=result)
     
    def callback2():
        #f=e1.get()
        u_0=e5.get()
        epsilon=e4.get()
        result = newton(f,g,u_0,epsilon)
     
        L.config(text=result)
     
    def callback3():
        #f=e1.get()
        a=int(e2.get())
     
        b=int(e3.get())
        n=int(e6.get())
        result = secante(f,a,b,n)
     
        L.config(text=result)
     
    b1 = Button(f,text="dichotomie", command=callback1,bd=4,width=10)
    b2 = Button(f,text="newton", command=callback2,bd=4,width=10)
    b3 = Button(f,text="la secante", command=callback3,bd=4,width=10)
    b1.pack()
    b1.place(x=220,y=60)
    b2.pack()
    b2.place(x=220,y=90)
    b3.pack()
    b3.place(x=220,y=120)
    f.mainloop()

  2. #2
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Déjà, il faudrait mettre ton message entre balises de code.
    Ensuite, c'est quoi la question,
    enfin, tes ordres ne seront pas forcément bien reçus...
    Cordialement.
    Pas d'aide par mp.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2017
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    from tkinter import *
    from math import *
    from f import f
    from g import g
    f= Tk()
    #f['bg']='grey'
    f.geometry("500x250+700+400")
    f.title('Analyse numerique')
     
    #L1 = Label(f,text="f(x) =")
    #L1.pack()
    #L1.place(x=40,y=20)
    #vart=StringVar()
    #e1 = Entry(f,textv=vart,width=10)
    #e1.pack()
    #e1.place(x=100,y=20)
    L2 = Label(f,text="a =")
    L2.pack()
    L2.place(x=40,y=60)
    vart=DoubleVar()
    e2 = Entry(f,textv=vart,width=10)
    e2.pack()
    e2.place(x=100,y=60)
    L3 = Label(f,text="b =")
    L3.pack()
    L3.place(x=40,y=100)
    vart=DoubleVar()
    e3 = Entry(f,textv=vart,width=10)
    e3.pack()
    e3.place(x=100,y=100)
    L4 = Label(f,text="epsilon =")
    L4.pack()
    L4.place(x=40,y=140)
    vart=DoubleVar()
    e4 = Entry(f,textv=vart,width=10)
    e4.pack()
    e4.place(x=100,y=140)
    L5 = Label(f,text="x 0 =")
    L5.pack()
    L5.place(x=40,y=180)
    vart=DoubleVar()
    e5 = Entry(f,textv=vart,width=10)
    e5.pack()
    e5.place(x=100,y=180)
    L6 = Label(f,text="n =")
    L6.pack()
    L6.place(x=40,y=220)
    vart=DoubleVar()
    e6 = Entry(f,textv=vart,width=10)
    e6.pack()
    e6.place(x=100,y=220)
    L0 = Label(f,text="x =")
    L0.pack()
    L0.place(x=350,y=90)
    input = []
    L= Label(f,text=input)
    L.pack()
    L.place(x=380,y=90)
     
     
     
    def dichotomie(f,a,b,n):
        for i in range(n):
            c = (a+b)/2
            if f(a)*f(c) <= 0:
                b = c
            else:
                a = c
        return a,b
     
    def newton(f,g,u_0,epsilon):
     #f(u_n)=f’(u_n)*(u_n-u_{n+1})
     u=u_0 #u contient u_n
     v=u-f(u)/g(u) #v contient u_{n+1}
     while fabs(u-v)>epsilon:
       u=v
       v=u-f(u)/g(u)
     return v
     
     
    def secante(f,a,b,n):
     for i in range(n):
           a = a-f(a)*(b-a)/(f(b)-f(a))
     return a 
     
     
    def callback1():
        #f=e1.get()
        a=e2.get()
        b=e3.get()
        epsilon=e4.get()
        #result=(int)result
        result = dichotomie(f,a,b,epsilon)
        L.config(text=result)
     
    def callback2():
        #f=e1.get()
        u_0=e5.get()
        epsilon=e4.get()
        result = newton(f,g,u_0,epsilon)
     
        L.config(text=result)
     
    def callback3():
        #f=e1.get()
        a=int(e2.get())
     
        b=int(e3.get())
        n=int(e6.get())
        result = secante(f,a,b,n)
     
        L.config(text=result)
     
    b1 = Button(f,text="dichotomie", command=callback1,bd=4,width=10)
    b2 = Button(f,text="newton", command=callback2,bd=4,width=10)
    b3 = Button(f,text="la secante", command=callback3,bd=4,width=10)
    b1.pack()
    b1.place(x=220,y=60)
    b2.pack()
    b2.place(x=220,y=90)
    b3.pack()
    b3.place(x=220,y=120)
    f.mainloop()
    et pour la fct qu'on doit normalement saisir et la recuperer par la suite f :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    from math import *
    def f(x):
        return (2*x*x-3)

    et g la derivée pour la methode de newton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    from f import f 
     
    def g(x):
        h=1E-10
        return ((f(x+h)-f(x))/h)



    et je veux savoir comment entrer les valeurs dans l'interface et avoir un resultat par la suite

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par axelim Voir le message
    je veux savoir comment entrer les valeurs dans l'interface et avoir un resultat par la suite
    Entrer des valeurs dans l'interface çà peut se faire via le widget Entry et pour afficher quelque chose, le widget Label peut suffire. Ceci dit, le code que vous avez posté montre que vous ne savez pas encore trop programmer. La programmation d'une interface graphique, c'est peut être encore un peu compliqué.
    Mais avec de la patience, çà s'apprend d'autant que vous pouvez vous aider des nombreux tuto. disponibles.

    Citation Envoyé par axelim Voir le message
    Prire de m'aider c urgent !!!
    Si vous n'avez pas eu le temps d'apprendre... c'est un problème, certes mais comme vous êtes adulte, il faut apprendre à faire avec ce genre de frustrations. En tout cas, c'est pas à partir du code que vous avez posté (on va pas se prendre le chou pour essayer de le lire...) qu'on va pouvoir vous aider: des questions plus précises, un code plus concis,... apprendre à décrire le problème rencontré fait aussi partie de ce que vous devez apprendre (surtout lorsqu'on poste dans un forum que des choses à lire...).

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

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2017
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    svp c'est un projet pour le weekend j'ai essayé d'ecrire le code et d'implementer les fonctions et d'ecrire le code de l'interface graphique !! svp des idées

Discussions similaires

  1. Interface graphique pour générer des requêtes SPARQL
    Par SonyBlack dans le forum SPARQL
    Réponses: 2
    Dernier message: 16/08/2010, 14h11
  2. Réponses: 0
    Dernier message: 15/06/2010, 16h36
  3. Réponses: 4
    Dernier message: 19/12/2005, 21h10
  4. [résolut]affichage d'une interface graphique des objs AWT
    Par Mayazi dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 16/11/2005, 14h11
  5. Outil pour créer des interfaces graphiques
    Par Cyborg289 dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 11/07/2005, 16h48

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