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 :

Python, affichage aléatoire


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 3
    Par défaut Python, affichage aléatoire
    Bonjour !
    Je suis actuellement entrain de travailler sur un projet python, un petit jeu de click ou il faut cliquer sur des nombres premiers
    Or, je n'arrive pas à gérer l'affichage du Label contenant le nombre
    Je dois faire en sorte qu'un chiffre apparaisse pendant un temps donné (j'ai commencé avec 3 secondes pour voir ce que ça donne) avant de disparaître si on ne clique pas dessus.
    Ceci est mon code qui gère l'apparition aléatoire, mais j'ai une erreur _tkinter.TclError: invalid command name ".!label"
    CoordX et Y sont des nombres aléatoires, compteur1 = 0 et compteur est mon chrono pour le temps de jeu. a est le nombre qu'il s'affiche
    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
     
    nbalea = Label(frameJeu, text=str(a), font=fontjeu, bg='#82FA58')
     
    def alea():
        global coordX, coordY, a, compteur1,compteur
        while compteur != 0:
            nbalea.place(x=coordX, y=coordY, width=80, height=50)
            while compteur1 != 3:
                compteur1 = compteur1 + 1
                nbalea.after(1000, alea)
            else:
                nbalea.destroy()
                a = randrange(0, 2000)
                nbalea.config(text=str(a))
                coordX, coordY = randrange(5, 1290), randrange(5, 615)
                nbalea.place(x=coordX, y=coordY, width=80, height=50)
                break
        else:
            nbalea.destroy()
    pourquoi il y a l'erreur sur nbalea.config ?
    et comment pourrais-je gérer la disparition si il n'y a pas de clique sur la zone du Label ?
    Si il le faut, je peux mettre le code entier

    Merci à vous

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

    Citation Envoyé par cloclo025 Voir le message
    pourquoi il y a l'erreur sur nbalea.config ?
    Relisez votre code!
    nbalea.config(...) vient après un nbalea.destroy()...

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

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 3
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Relisez votre code!
    nbalea.config(...) vient après un nbalea.destroy()...

    - W
    En effet cela fonctionne mieux sans ! Merci

    Malheureusement, j'ai encore un problème pour la zone de click liée à ce fameux Label
    Voici mon code qui ajoute des points
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    def GereClick(event):
        global poulet,allies
        if coordX < event.x < coordX+80 and coordY < event.y < coordY+50 :
            for i in range(2, int(sqrt(a))): #test si c'est un nombre premier ou non
                if a % i == 0:
                    b = 1
            if b == 0:
                print(str(a) + ' est premier')
                poulet = poulet+1
            else:
                print(str(a) + " n'est pas premier")
                allies = allies+1
    Or, rien ne se passe et en plus, mon programme freeze au bout de 8 secondes :/
    Que faut-il rajouter pour la zone de click ?
    Voici le lien vers Google Drive de mon projet :
    https://drive.google.com/drive/folde...gu?usp=sharing

    J'ai rajouté un nbalea.bind("<Button-1>", GereClick) dans ma fonction start qui associe le click gauche au Label, mais mon programme crash toujours donc je ne sais pas si c'est juste ou pas...
    Merci beaucoup pour votre aide

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

    J'ai regardé en diagonale le script jeu2.py: il ne contient pas le code que vous montrez.

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

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 3
    Par défaut
    Rhoooo j'ai pris la mauvaise version...
    Désolé..
    Voilà le bon lien :
    https://drive.google.com/open?id=1Q_...WEFqlaQbX7c30W

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

    Je suis reparti sur:
    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
    def alea():
        global coordX, coordY, a, compteur1,compteur
        while compteur > 0:
            nbalea.place(x=coordX, y=coordY, width=80, height=50)
            while compteur1 < 5:
                compteur1 = compteur1 + 1
                nbalea.after(1000, alea)
            else:
                compteur1=0
                a = randrange(0, 2000)
                nbalea.config(text=str(a))
                coordX, coordY = randrange(5, 1290), randrange(5, 615)
                nbalea.place(x=coordX, y=coordY, width=80, height=50)
                break
        else:
            nbalea.destroy()
    si vous écrivez une boucle while condition, il faut vous assurez que la condition passe à False un jour.
    Ce qui suppose décrémenter "compteur"...

    Tout semble codé comme çà, c'est juste une champ de mines dans lequel pas grand monde ira s'aventurer...
    En tous cas, pas moi.
    Désolé.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/08/2006, 10h24
  2. Erreur pour l'affichage aléatoire d'une image
    Par bellebiquette dans le forum Langage
    Réponses: 3
    Dernier message: 21/04/2006, 22h45
  3. Affichage aléatoire
    Par wperle dans le forum Langage
    Réponses: 5
    Dernier message: 15/12/2005, 12h54
  4. Affichage aléatoire avec coéfficients
    Par groupejtt dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 08/11/2005, 22h09
  5. [Tableaux] Affichage aléatoire... ou presque !
    Par rafflow dans le forum Langage
    Réponses: 4
    Dernier message: 05/10/2005, 22h43

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