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

Exercices Python Discussion :

python Heure PySimpleGUI


Sujet :

Exercices Python

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 76
    Par défaut python Heure PySimpleGUI
    Bonjour, j'ai un problème visiblement simple mais je bloque:
    Remplacer les points d’interrogation pour que le script affiche à la suite l’heure, les minutes et les secondes, à chaque clic sur la touche heure.

    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
    # −− coding : utf−8 −−
    """
    prgm3−3, TP 6 Pa r t i e 3
    PySimpleGUI 4 . 1 . 0
    """
     
    import PySimpleGUI as sg
    import datetime as dt
     
    layout = [[sg.Multiline(’’, size =(50, 4), key='_TEXT_')],
              [sg.Exit(),sg.Button(button_text='heure', key='_HEURE_')]]
     
    window = sg.Window('TP6 − PySimpleGUI' , layout, size=(400,200), text_justification='center')
    date = dt.datetime.now()
    dateMiseEnForme = str(date.day)+' '+str(date.month)+' '+str(date.year)+'\n'+str(date.hour)+' '+str(date.minute)+' '+str(date.second)+'\n'
    window.Element(’_TEXT_’).Update(dateMiseEnForme,append=True)
     
    while True :
      event, values = window.Read()
      if event in (None, ’Exit’) :
        break
      if event = '_HEURE_':
        date = dt.datetime.now()
        ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
     
    window.Close()
    je n’ai pas le droit de changer autre chose: j ai fais plusieurs test:

    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
    # −− coding : utf−8 −−
    """
    prgm3−3, TP 6 Pa r t i e 3
    PySimpleGUI 4 . 1 . 0
    """
     
    import PySimpleGUI as sg
    import datetime as dt
     
    layout = [[sg.Multiline(’’, size =(50, 4), key='_TEXT_')],
              [sg.Exit(),sg.Button(button_text='heure', key='_HEURE_')]]
     
    window = sg.Window('TP6 − PySimpleGUI' , layout, size=(400,200), text_justification='center')
    date = dt.datetime.now()
    dateMiseEnForme = str(date.day)+' '+str(date.month)+' '+str(date.year)+'\n'+str(date.hour)+' '+str(date.minute)+' '+str(date.second)+'\n'
    window.Element(’_TEXT_’).Update(dateMiseEnForme,append=True)
     
    while True :
      event, values = window.Read()
      if event in (None, ’Exit’) :
        break
      if event = '_HEURE_':
        date = dt.datetime.now()
        window.Element('_TEXT_').Update(date)
     
    window.Close()
    Mais si j'utilise dateMiseEnForme le bouton heure ne fonctionne que la première fois
      0  0

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par desatan Voir le message
    je n’ai pas le droit de changer autre chose: j ai fait plusieurs test:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      if event = '_HEURE_':
        date = dt.datetime.now()
        window.Element('_TEXT_').Update(date)
     
    window.Close()
    T'as remarqué que Python te renvoie une erreur sur la syntaxe de la comparaison ? Tu ne t'es pas dit que pour avoir un code qui fonctionne il fallait d'abord un code sans erreur ???

    Citation Envoyé par desatan Voir le message
    Mais si j'utilise dateMiseEnForme le bouton heure ne fonctionne que la première fois
    Chez-moi, ton code (avec une syntaxe correcte) fonctionne tout le temps (enfin j'ai un warning dans la fenêtre de log qui dit qu'on ne peut pas modifier un élément avant que la fenêtre ait été lue mais ça n'empêche pas l'heure de s'afficher).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]
      1  2

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 76
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    T'as remarqué que Python te renvoie une erreur sur la syntaxe de la comparaison ? Tu ne t'es pas dit que pour avoir un code qui fonctionne il fallait d'abord un code sans erreur ???


    Chez-moi, ton code (avec une syntaxe correcte) fonctionne tout le temps (enfin j'ai un warning dans la fenêtre de log qui dit qu'on ne peut pas modifier un élément avant que la fenêtre ait été lue mais ça n'empêche pas l'heure de s'afficher).
    Bonsoir, merci pour ta réponse.

    Est ce que tu veux dire qu'il y a un problème de syntaxe dans cette partie ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      if event = '_HEURE_':
        date = dt.datetime.now()
        window.Element('_TEXT_').Update(date)
     
    window.Close()
    Est-ce cette ligne qui est concernée ? Si oui, je ne m'en sors pas .
    window.Element('_TEXT_').Update(date)

    Merci par avance pour ton aide
      0  0

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par desatan Voir le message
    Est ce que tu veux dire qu'il y a un problème de syntaxe dans cette partie ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      if event = '_HEURE_':
        date = dt.datetime.now()
        window.Element('_TEXT_').Update(date)
    Exact

    Citation Envoyé par desatan Voir le message
    Est-ce cette ligne qui est concernée ? Si oui, je ne m'en sors pas .
    window.Element('_TEXT_').Update(date)
    J'ai parlé de comparaison. Quelle est la ligne qui effectue une comparaison ??? Sans déconner quoi, il n'y a que 3 lignes (et en plus Python sort un message d'erreur en indiquant la ligne en question) !!!
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]
      1  2

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 76
    Par défaut
    donc tu parles du if event == '_HEURE_':,
    avec un = c'est erreur et de toute façon je ne peux pas modifier, je dois garder le ==.
    Merci
      0  0

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par desatan Voir le message
    donc tu parle du if event == '_HEURE_':
    avec un = c'est erreur et de tout façon je ne peut pas modifier , je dois garder le ==.
    Ben dans justement, dans le code que tu postes tu as bel et bien écrit if event = '_HEURE_' et effectivement cela a fait une erreur chez-moi.
    Et quand j'ai eu corrigé ton code, alors chez moi tout fonctionnait parfaitement.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]
      1  2

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 76
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Ben dans justement, dans le code que tu postes tu as bel et bien écrit if event = '_HEURE_' et effectivement cela a fait une erreur chez-moi.
    Et quand j'ai eu corrigé ton code, alors chez moi tout fonctionnait parfaitement.
    Merci pour ta patience, ça peut paraître simple mais quand on débute, pas facile.

    Portant j'essaye de lire plein de choses sur python.

    Si je mets çà :

    Ca me donne une erreur.

    Peux-tu me donner un indice s'il te plaît ?

    Merci par avance.
      0  0

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Citation Envoyé par desatan Voir le message
    Ca me donne une erreur.
    L'erreur est peut être différente et provoquée par une autre ligne de code que celle là.

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

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 76
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    L'erreur est peut être différente et provoquée par une autre ligne de code que celle là.

    - W
    Merci de ton passage, si ton W est un indice, j'en conclus ceci :

    j'ai mis ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.Element('_TEXT_').Update(date)
    Je dois mettre cà ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Window.Element('_TEXT_').Update(date)
      0  0

  10. #10
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Vous devez surtout essayez de comprendre le message d'erreur!
    Il vous donne un libellée, une description, un numéro de ligne, une instruction,...

    Avec çà vous devez "inspecter" votre code pour comprendre pourquoi cette erreur et ce n'est qu'après que vous pourrez envisager comment la corriger.

    Et si vous n'arrivez pas à la corriger, ben, il faut poster le code, l'erreur et expliquer ce que vous ne comprenez pas.

    Ceci dit plutôt que de vous acharner à vouloir faire un exercice où vous ne comprenez pas trop ce que vous faites, prenez le temps d'ouvrir un tuto. d'apprendre à faire des exercices plus simples, histoire de vous familiariser avec les "erreurs" et la mise au point de programmes avec Python.

    L'intérêt d'un exercice n'est pas de s'en débarrasser en quémandant une solution dans les forums mais tout ce que vous allez apprendre en essayant de le faire: essentiellement relire votre code en l'exécutant comme le fera Python lorsque vous lancerez votre code.

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

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 76
    Par défaut
    OK merci.
    Je ne quémande pas la solution, même si cela ne se remarque peut-être pas, j'ai fais des recherches et j'ai essayé de trouver pourquoi cela ne fonctionne pas comme je le souhaite.
    Et c'est parce que je me sent bloqué que je suis venu vous demander de l'aide.
      0  0

  12. #12
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Citation Envoyé par desatan Voir le message
    Et c'est parce que je me sent bloqué que je suis venu vous demander de l'aide.
    Vous n'avez pas encore compris l'importance des messages d'erreurs au point d'omettre de les poster avec le code qui va avec.
    C'est que vous n'avez pas trop passé de temps à apprendre les bases (ce que vous êtes supposé avoir fait avant de poster) et que la programmation est une activité similaire à la peinture que vous faisiez en maternelle. Si vous êtes bloqué, c'est juste que vous avez sauté un peu trop vite la case tuto.

    A partir de là, la seule chose qu'on peut faire pour vous c'est faire l'exo. à votre place.
    Ce qui vous aidera à progresser dans l'apprentissage de la programmation comme apprendre à jouer au tennis en regardant la télé (et vous avez plein de videos sur Youtube!).

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

  13. #13
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 76
    Par défaut
    c'est juste que je peux pas actualiser
    Images attachées Images attachées  
      0  0

  14. #14
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Citation Envoyé par desatan Voir le message
    c'est juste que je peux pas actualiser
    Si on passe par l'instruction A = 1, les différents print(A) afficheront toujours 1 tant que le code ne sera pas passé par une instruction comme A = '*****' qui assignera autre chose à A(*).

    Si cette notion de base là n'est pas acquise, vous regardez juste ce qui s'affiche à l'écran plutôt que relire votre code pour vérifier que dateMiseEnForme a bien été mise à jour.

    Et pour acquérir ces bases là, c'est passer du temps dans les tutos. Comme vous êtes particulièrement bouché, inutile de poursuivre cette discussion.


    (*)Heureusement d'ailleurs car si les variables changeaient de façon aléatoire, impossible de programmer quoi que ce soit! La mémoire des ordinateurs étant sensible aux rayons cosmiques, chaque emplacement mémoire est protégé par un code de détection et de correction d'erreur qui garantit que lorsqu'on a écrit 1, on lira 1 ou le programme (quand ce n'est pas le système) plantera en signalant que la mémoire est pourrie.

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

Discussions similaires

  1. Bloquer Gestion de l'heur en python
    Par deank976 dans le forum Général Python
    Réponses: 3
    Dernier message: 10/02/2019, 18h25
  2. Régler l'heure sur un Raspberry 3 via python
    Par eponge dans le forum Raspberry Pi
    Réponses: 6
    Dernier message: 16/10/2017, 07h21
  3. Python + ftplib/ftputil : date ok mais pas l'heure
    Par Jijil dans le forum Réseau/Web
    Réponses: 8
    Dernier message: 12/05/2016, 10h42
  4. heure en python
    Par carnifex dans le forum Général Python
    Réponses: 2
    Dernier message: 21/05/2008, 08h01
  5. Réponses: 11
    Dernier message: 23/07/2002, 14h33

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