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 :

Pouvez vous m'expliquer ce programme ? calc


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Par défaut Pouvez vous m'expliquer ce programme ? calc
    Je comprends pas le for index et tout merci










    # -*- coding: cp1252 -*-
    #!/usr/bin/python
    from Tkinter import*


    fenetre= Tk() # creation de la fenetre
    fenetre.title('Calculatrice du padre') # titre de la fenetre
    fenetre.geometry('500x500') # dimensions de la fenetre


    ecran= Frame(fenetre, bd=0, width=150, height=25, relief=SUNKEN)
    ecran.grid(column=0, row=0, padx=0, pady=0)
    buttons= Frame(fenetre, bd=0, width=5, height=1, relief=GROOVE)
    buttons.grid(column=0, row=1, padx=1)


    def quitter():
    """Quitte l'application."""

    fenetre.quit()
    fenetre.destroy()

    bouton_quitter=Button(text="quitter",command=quitter).grid( padx = 5, pady = 5,)

    def effacer(): # fonction appelee par appui sur bouton effacer
    results.delete(0,END)


    bouton_effacer=Button(fenetre,bg="light blue", text="effacer",command=effacer).grid( padx = 6, pady =6)


    def appear(x):
    return lambda: results.insert(END, x)

    def zero ():
    results.insert(END, "0")
    return

    def valider():
    try:
    result = eval(results.get())
    except:
    result = "Non valide"
    results.delete(0, END)
    results.insert(0, result)


    nombres=["7", "4", "1", "8", "5", "2", "9", "6", "3"]

    for index in range(9):
    n=nombres[index]
    Button(buttons, bg="light blue", text=n, width=5, height=1,
    command=appear(n), relief=GROOVE).grid(padx=2, pady=2, row=index%3,column=index/3)



    zero= Button(buttons, bg="light blue", text="0", width=5, height=1,
    command=zero, relief=GROOVE,)
    zero.grid(padx=2, pady=2, column=1, row=3)


    boutonsmaths=["+", "-", "*", "/"]
    for index in range(4):
    f=boutonsmaths[index]
    Button(buttons, bg="white", text=f, width=5, height=1,
    command=appear(f), relief=GROOVE).grid(padx=2, pady=2, row=index%4,
    column=3)

    equals= Button(buttons, bg="White", text="valider", width=5, height=1,
    command=valider, relief=GROOVE)
    equals.grid(ipadx=2, pady=2, row=3, column=2)

    numbers = StringVar()
    results = Entry(ecran, textvariable=numbers, width=19,font="ComicsansMS")
    results.pack()

    fenetre.config()
    fenetre.mainloop()

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Tu ouvres un terminal et tu tapes python (ou python3) tu seras dans l'interpréteur interactif dans lequel tu pourras tester des portions de code et juger de ce qui se produit.

    Comme ceci
    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
     
    vincent@tiemoko:~$ python
    Python 2.7.3 (default, Sep 26 2013, 20:08:41) 
    [GCC 4.6.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> nombres = ["7", "4", "1", "8", "5", "2", "9", "6", "3"] 
    >>> for index in nombres:
    ...     print index
    ... 
    7
    4
    1
    8
    5
    2
    9
    6
    3
    >>>

  3. #3
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Par défaut
    Je comprends a partir de for index.

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Édite ton premier post, sélectionne le texte du code et clique sur le '#' dans la barre d'outils d'édition.

    J'ai l'impression qu'il y a des choses bizarres dans ce code. D'où vient-il ?

  5. #5
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    A chaque bouton est associée une action. Pour les touches 0 1 2 3 4 5 6 7 8 9 + - * / il s'agit d'ajouter le caractère sur ligne du haut. Pour la touche "valider", l'action est d'exécuter le code fabriqué dans la ligne du haut. Pour la touche "effacer", l'action est d'effacer la ligne du haut. La ligne du haut est appelée "results" dans le programme.

    Les deux boucles for servent à fabriquer les boutons avec leur paramètre corrects, c'est à dire le texte et l'action associés.

    A+

    Pfeuh

Discussions similaires

  1. Pouvez vous m'expliquer?
    Par lassault1 dans le forum Débuter
    Réponses: 15
    Dernier message: 20/04/2010, 15h40
  2. pouvez vous m'expliquer cette requet?
    Par hayat2 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/05/2009, 07h57
  3. Pouvez vous m'expliquer ce code ?
    Par sayfouche dans le forum C#
    Réponses: 6
    Dernier message: 09/04/2008, 23h36
  4. Réponses: 1
    Dernier message: 01/10/2007, 17h32
  5. Serveur ftp pouvez vous m'expliquer svp
    Par fred59 dans le forum Dépannage et Assistance
    Réponses: 2
    Dernier message: 07/12/2006, 18h37

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