begin process at 2010 09 04 20:04:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Divers

 > 

Débutant(e)

 > 

[Tkinter] Erreur premier programme


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Tkinter] Erreur premier programme

lundi 1 décembre 2008 à 11:42:28 | [Tkinter] Erreur premier programme

O_connor

Bonjour à toutes et à tous,

Je poste un ce topic car voilà deux jours que je bloque sur ma petite application que j'essaie de réaliser avec une GUI.
Ce programme le fameux jeu où l'utilisateur doit trouver un nombre caché.

Mon problème est le suivant : a chaque fois que j'entre un nombre, le label m'indiquant que le nombre à trouver est plus petit. Or dans mon application, un check est fait afin de savoir si le nombre entré est plus petit, plus grand ou égal au nombre caché.
On dirait que mes "if" ne fonctionnent pas.

Mon code  :
#_*_ coding:utf-8 _*_

from Tkinter import *

def press():
    nombre_cache = 42
    choix=entre.get()

    if nombre_cache > choix :
        text3=Label(fen1, text="Le nombre caché est plus grand que %s !" % (choix))
        text3.pack()
    if nombre_cache < choix :
        text3=Label(fen1, text="Le nombre caché est plus petit que %s !" % (choix))
        text3.pack()
    else :
        text3=Label(fen1, text="Bravo, le nombre caché était : %s !" % (choix))
        text3.pack()

fen1=Tk()
text1=Label(fen1,text="Essayez de trouver le nombre caché" , fg="red")
text1.pack()
text2=Label(fen1,text="Veuillez entrer un nombre")
text2.pack()
entre=Entry(fen1)
bou1=Button(fen1,text="Entrer",command=press)
entre.pack()
bou1.pack()
fen1.mainloop()

Avez-vous une explication ?

Merci d'avance !

Meilleures salutations,
-- O_connor
mercredi 3 décembre 2008 à 10:07:41 | Re : [Tkinter] Erreur premier programme

fred1599

bonjour,

J'en vois deja quelques-une à l'oeil.

Déjà le 2ème if de ta fonction à transformer en elif

mettre nombre_cache en dehors de ta fonction.

Ensuite tu as créé une fonction press(). Mais je ne vois pas où tu l'apelles dans ton prog principal???

 Voila dejà quelques pistes
dimanche 7 décembre 2008 à 12:30:44 | Re : [Tkinter] Erreur premier programme

aera group

Bonjour.
fred1599pense que le problème vient de "nombre_cache" et qu'il faut le placer en dehors de la fonction : ça n'a rien avoir avec l'erreur.
De même press() est appeler dans la classe Button() de Tkinter.
Le problème est que "entre.get()" envoie une chaine de caractères et non un nombre. Dans tes test tu compares donc un nombre et des lettres (ce qui pose un problème). La fonction int() de Python transforme une chaine de caractères (où tous les caractères sont des nombres) en un entier (pour transformer en un décimal il faut utiliser float() et pour transformer un nombre en chaine de caractère c'est str()). Met donc un int() dans la ligne choix.

Maintenant fesons un test. Je rentre 43 ! La réponse est "Le nombre caché est plus petit que 43 !". Jusque la tout va bien. Maintenant je met 5 et la rien ne vas plus, j'ai deux réponse : "Le nombre caché est plus grand que 5 !" ça ca va mais la deuxième : "Bravo, le nombre caché était : 5 !"

Gros problème en fait le deuxième test étant négatif le else rentre en jeu (alors qu'il ne devrais pas). Deux solutions, remplacer le else pas un test d'égalité ou mettre en elif au deuième test.
______

Aéra



Cette discussion est classée dans : label, nombre, caché, pack, fen1


Répondre à ce message

Sujets en rapport avec ce message

Une scrollbar sur un Label ? [ par stephane70 ] Bonjour, Je mets en place un petit programme destiné à faire un instantanée graphique des connections en cours sur le pc ainsi que les executables en Problème sur la taille de fenetre en Tkinter [ par stephane70 ] Bonjour, Je mets en place un petit programme destiné à faire un instantanée graphique des connections en cours sur le pc ainsi que les executables en Petit problème avec "return" [ par Uims ] Bonjour, Je suis entrain de faire un annuaire en python (avec Tk), mais j'ai un petit problème avec return dans la fonction "loc", j'aimerai que la v Présentation de code correcte ? [ par corbaque ] Bonjour à tous,J'ai découvert le Python il y a trés peu de temps, je programme depuis 9 mois en ruby, et je me suis essayé à se language qui m'impress Tkinter:Stocker et Afficher la valeur d'un Entry [ par djisse95 ] Bonjour a tous! Je debute avec Tkinter,et je voudrais savoir, pourquoi ce code ne marche pas, et comment faire pour qu'il marche!Le but de ce code est Tkinter et changment d'image [ par vega95 ] Bonjour,j'ai écrit le code suivant pour afficher une image à l'accueil en attendant le début du programme. Une fois le bouton b1 enfoncé, je voudrais Remplacer un mot ou un nombre dans un fichier [ par tptpt ] Bonjour,Es-ce possible de remplacer un mot ou un nombre dans un fichier grace à python? probleme d'execution script [ par panzer9595 ] bonjour, je viens de commencer python tres recemment, pour mon apprentissage j'ai décidé de reprendre un jeu basique (trouver le nombre mystere) mais voir si un caractère a déjà était écrit dans une boucle [ par Lutcho74 ] Bonjour,Ma question est un peu dans le titre du sujet...Je compte faire un programme qui donne un nombre aléatoire grâce au module random pour ensuite Question sur PyQt4 !!!!!! [ par Subversion ] Bonjour à vous tous,Voilà, je dois programmer en Python via Eclipse (avec PyDev) afin d'élaborer une interface graphique. De ce fait, je suis en train


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales