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 :

QCM sur python


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Par défaut QCM sur python
    Bonsoir,
    j'ai réalisé un petit QCM sur python dans le cadre du lycée mais j'ai un petit problème quand je lance mon programme. Quand le programme me propose les réponses pour le QCM, les réponses sont entre crochets et ça ne fait pas tres propre. De plus je n'arrive pas à sauter des lignes entre les questions : les \n ne fonctionnent pas ...

    Merci par avance de m'accorder un peu de votre temps pour me débloquer

    Bonne soirée !
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Par défaut
    Salut,

    Je n'ai pas d'interpreteur sur mon poste actuel, donc je me base uniquement sur ton code.

    L12 & 13, j'ai l'impression qu'il y a une petite cafouille dans les ". Il faut que tu utilises les caractères d'échappement (ex: \") si tu veut utiliser ce caractère dans une string. Tu peut aussi utiliser les simples et doubles cotes associées, ex: 'il dit: "bonjour" '. Cela sera alors correctement interprêté.

    Ensuite, j'ai l'impression que ligne 13, tu as créé une sorte de matrice [m][n], mais quand tu y fait appel, tu la considère comme une simple liste. De fait, il est normal que les corchets appraissent.

    Enfin, les \n ne sont pas interprêté pour la même raison. Tu ne print pas la chaine, mais une ligne de ta matrice. Il t'affiche donc le contenu, data, et non ta string

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 21
    Par défaut
    Déjà je vous remercie pour votre aide, maintenant on a un tout autre problème .. C'est avec tkinter , quand on appuie sur la touche début, les questions se lance mais sur la partie noir et lorsque l'on clique sur oui , une nouvelle fenêtre s'ouvre , mais on ne sait pas comment insérer les questions avec les choix dans cette nouvelle fenêtre..


    Voici le 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
    from math import *
     
    import random
     
     
    #Liste + variable
     
    compteur=0
    nombre_de_question=0
     
    liste_questions=["Question  : Quelle est la capitale du Liban ?\n ","Question  : Quand l'armistice de la seconde Guerre Mondiale a-t-elle été signée ? ","Question  : Quelle est la capitale de l'Estonie /n? ","Question  : Quelle est la langue maternelle la plus parlée au monde ? \n","Question  : Quelle est la langue officielle au Nigeria \n?","Question  : Qui a réalisé le père noel est une ordure ? \n","Question  : Quel est l'état le plus grand des Etats-Unis ?","Question  : Qui a écrit l'Assommoir ? \n","Question  : La pénicilline a été découverte par : \n","Question  : Le premier président de la République était : \n","Question  : En quelle année ont été créées les régions ? \n","Question : Que collectionne un conchyophile ? \n","Question  : Quelle est la ville la plus peuplée du monde ? \n","Question  : Quelle formule mathématique permet d'établir les développements limités ? \n","Question  : Quel évènement a marqué l'année 1935 ? \n","Question : Quelle est la hauteur de la Tour Eiffel ? \n","Question  : Quel est l'organe le plus volumineux et le plus massif parmi ceux-ci ? \n","Question : En quelle année Neil Amstrong a-t-il posé le premier pas sur la lune ? \n","Question : Quel chanteur fait partie des Rolling Stones ? \n","Question : Quelle équipe de football a remporté la première coupe du monde en 1930 ? \n"]
    liste_choix=[["1) Beyrouth","2) Damas","3) Rabat "],["1) 8 mai 1945","2) 11 novemble 1945","3) 18 juin 1940 "],["1) Riga","2) Tallin","3) Vilnius"],["1) L'Anglais,2) L'espagnol,  3) le chinois madarin "],["1) L'anglais","2) Le nigerian","3) L'afrikaans "],["1) Coline Serreau","2) Gerard Oury","3) Jean Marie Poiré "],["1) Le Texas","2) L'Alaska","3) Le Montana "],["1) Stendhal","2) Flaubert","3) Zola "],["1) Ian Fleming","2) Alexander Flening","3) Marie Curie "],["1) R.Coty","2) A.Pinay","3) V.Auriol "],["1) 1806","2) 1956","3) 1901 "],["1) Des bières","2) des coquillages","3) Des animaux empaillés "],["1) Tokyo","2) Mexico","3) New York "],["1) Schrodinger","2) Crutz","3) Taylor "],["1) Les lois sociales du Front populaire","2) Lois de Nüremberg","3) Hitler chancelier "],["1) 250 mètres","2) 324 mètres","3) 295 mètres "],["1) Le foie","2) L'estomac","3) Le colon "],["1) 1967","2) 1969","3) 1971 "],["1) Jonh Lennon","2) Mick Jagger","3) Brian Johnson "],["1) Italie","2) Brésil","3) Uruguay "]]
    liste_reponse=[1,1,2,3,1,3,2,3,2,3,2,2,1,3,2,2,1,2,2,3]
     
    #début du programme 
     
    def quest():
    	newWindow= Tk()
    	newWindow.title('Question')
    	newWindow.geometry("400x300+600+400")
    	Mafenetre.destroy()
    	global compteur 
    	print("commençons !\n ")
     
    	while liste_questions :
     
    		n=random.randint(0,len (liste_questions)-1)
    		print (liste_questions[n])
    		print (liste_choix[n])
    		Q=int(input("quel numéros choississez-vous ?"))
    		if Q == liste_reponse[n] :
    			 compteur = compteur +1
     
     
    		liste_questions.pop(n)
    		liste_choix.pop(n)
    		liste_reponse.pop(n)
     
     
    	print ("c'est finis")
     
     
     
    #système de note + commentaire :		
     
    	print("Note:")	
    	if compteur == 20 :
    		showinfo('NOTE', "20/20...Que pouvons nous dire... si ce n'est BRAVO")		
     
    	elif 19>=compteur>=16 :
    		showinfo('NOTE', "19/20 C'est presque excellent... Courage ! Le succes est au bout du chemin.")
     
    	elif 15>=compteur>=12 :
    		showinfo('NOTE',"Tu as entre 12/20 et 15/20. Ne sois pas modeste, tu peux mieux faire !")
     
    	elif 11>=compteur>=10 :
    		showinfo('NOTE',"Tu as entre 10/20 et 11/20. Il faut tra-vai-ller !")
     
    	elif 9>=compteur>=6 :
    		showwarning('NOTE', "Tu as entre 9 et 6. Tu sais ce qu'il te reste à faire ..." )
     
    	elif 5>=compteur>=0 :
    		showwarning('NOTE',"Tu as en dessous de 5/20... Sans commentaire...")
     
     
     
     
    #~ else :
    	#~ print (" à une prochaine fois")	
     
     
    # Création de la fenêtre principale (main window)
    from tkinter import *
    from tkinter.messagebox import *
    Mafenetre = Tk()
     
    Mafenetre.title('QCM')
    Mafenetre.geometry('400x300+600+400')
     
    Label1 = Label(Mafenetre, text = 'Voici un petit QCM présenté par Jonathan, Thibault , Landry ')
    Label1.pack(side = TOP, padx = 5, pady = 5)
     
     
    Label2 = Label(Mafenetre, text = 'Voulez- vous commencez ? ')
    Label2.pack(side = LEFT, padx = 5, pady = 5)
     
    Bouton = Button(Mafenetre, text ='Oui', command = quest )
    Bouton.pack(side = LEFT, padx = 5, pady = 5)
     
    Bouton = Button(Mafenetre, text ="Non", command = Mafenetre.destroy )
    Bouton.pack(side = LEFT, padx = 5, pady = 5)
     
     
     
    Mafenetre.mainloop()

    Merci d'avance , car tkinter nous l'avons vu que pendant 2h en cours et encore c'était des fonctions toutes simple !

  4. #4
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Par défaut
    Bonsoir,

    merci deusyss pour votre réponse. J'ai essayé de modifier le programme mais là ca n'affiche plus rien... je suis completement perdu ...
    merci d'essayer de me débloquer

    bonne soirée
    Fichiers attachés Fichiers attachés

  5. #5
    Expert confirmé

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Par défaut
    Hello,


    Bon je suis parti de ton code avec Tkinter.

    Si tu veut tout faire propre, je te conseille de respecter les PEP. Cela viendra avec l'experience, mais cela ne rendra ton code que meilleur. Voici donc ton code fonctionnel. La première ligne est là car je travaille sous Linux. Petite note, tkinter, de memoire s'utilise differemment entre python 2.X et python 3.X, donc fait attention à cela. Enfin, quand tu fait un print, attention à l'encodage, car là les caractères non ASCII passeront mal.

    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
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
     
    #Ligne 1 necessaire sous Linux
     
    from Tkinter import *
    from math import *
    import random
     
     
     
     
    #Liste + variable
    compteur=0
    nombre_de_question=0
     
    liste_questions=["Question  : Quelle est la capitale du Liban ?\n ",\
    				"Question  : Quand l'armistice de la seconde Guerre Mondiale a-t-elle été signée ? ",\
    				"Question  : Quelle est la capitale de l'Estonie /n? ",\
    				"Question  : Quelle est la langue maternelle la plus parlée au monde ? \n",\
    				"Question  : Quelle est la langue officielle au Nigeria \n?",\
    				"Question  : Qui a réalisé le père noel est une ordure ? \n",\
    				"Question  : Quel est l'état le plus grand des Etats-Unis ?",\
    				"Question  : Qui a écrit l'Assommoir ? \n",\
    				"Question  : La pénicilline a été découverte par : \n",\
    				"Question  : Le premier président de la République était : \n",\
    				"Question  : En quelle année ont été créées les régions ? \n",\
    				"Question : Que collectionne un conchyophile ? \n",\
    				"Question  : Quelle est la ville la plus peuplée du monde ? \n",\
    				"Question  : Quelle formule mathématique permet d'établir les développements limités ? \n",\
    				"Question  : Quel évènement a marqué l'année 1935 ? \n",\
    				"Question : Quelle est la hauteur de la Tour Eiffel ? \n",\
    				"Question  : Quel est l'organe le plus volumineux et le plus massif parmi ceux-ci ? \n",\
    				"Question : En quelle année Neil Amstrong a-t-il posé le premier pas sur la lune ? \n",\
    				"Question : Quel chanteur fait partie des Rolling Stones ? \n",\
    				"Question : Quelle équipe de football a remporté la première coupe du monde en 1930 ? \n"]
     
    liste_choix=["1) Beyrouth,2) Damas,3) Rabat ",\
    			"1) 8 mai 1945,2) 11 novemble 1945,3) 18 juin 1940 ",\
    				"1) Riga,2) Tallin,3) Vilnius",\
    				"1) L'Anglais,2) L'espagnol,  3) le chinois madarin ",\
    				"1) L'anglais,2) Le nigerian,3) L'afrikaans ",\
    				"1) Coline Serreau,2) Gerard Oury,3) Jean Marie Poiré ",\
    				"1) Le Texas,2) L'Alaska,3) Le Montana ",\
    				"1) Stendhal,2) Flaubert,3) Zola ",\
    				"1) Ian Fleming,2) Alexander Flening,3) Marie Curie ",\
    				"1) R.Coty,2) A.Pinay,3) V.Auriol ",\
    				"1) 1806,2) 1956,3) 1901 ",\
    				"1) Des bières,2) des coquillages,3) Des animaux empaillés ",\
    				"1) Tokyo,2) Mexico,3) New York ",\
    				"1) Schrodinger,2) Crutz,3) Taylor ",\
    				"1) Les lois sociales du Front populaire,2) Lois de Nüremberg,3) Hitler chancelier ",\
    				"1) 250 mètres,2) 324 mètres,3) 295 mètres ",\
    				"1) Le foie,2) L'estomac,3) Le colon ",\
    				"1) 1967,2) 1969,3) 1971 ",\
    				"1) Jonh Lennon,2) Mick Jagger,3) Brian Johnson ",\
    				"1) Italie,2) Brésil,3) Uruguay "]
     
    liste_reponse=[1,1,2,3,1,3,2,3,2,3,2,2,1,3,2,2,1,2,2,3]
     
     
     
     
    #début du programme 
    def quest():
    	newWindow= Tk()
    	newWindow.title('Question')
    	newWindow.geometry("400x300+600+400")
    	Mafenetre.destroy()
    	global compteur 
    	print("commençons !\n ")
     
    	while liste_questions :
    		n=random.randint(0,len (liste_questions)-1)
    		print (liste_questions[n])
    		print (liste_choix[n])
    		Q=int(input("quel numéros choississez-vous ?"))
    		if Q == liste_reponse[n]:
    			 compteur = compteur +1
    		liste_questions.pop(n)
    		liste_choix.pop(n)
    		liste_reponse.pop(n)
    	print ("c'est finis")
     
    	#système de note + commentaire :		
    	print("Note:")	
    	if compteur == 20 :
    		showinfo('NOTE', "20/20...Que pouvons nous dire... si ce n'est BRAVO")		
     
    	elif 19>=compteur>=16 :
    		showinfo('NOTE', "19/20 C'est presque excellent... Courage ! Le succes est au bout du chemin.")
     
    	elif 15>=compteur>=12 :
    		showinfo('NOTE',"Tu as entre 12/20 et 15/20. Ne sois pas modeste, tu peux mieux faire !")
     
    	elif 11>=compteur>=10 :
    		showinfo('NOTE',"Tu as entre 10/20 et 11/20. Il faut tra-vai-ller !")
     
    	elif 9>=compteur>=6 :
    		showwarning('NOTE', "Tu as entre 9 et 6. Tu sais ce qu'il te reste à faire ..." )
     
    	elif 5>=compteur>=0 :
    		showwarning('NOTE',"Tu as en dessous de 5/20... Sans commentaire...")
    #~ else :
    	#~ print (" à une prochaine fois")	
     
     
     
     
    # Création de la fenêtre principale (main window)
    def ihm():
    	Mafenetre = Tk()
     
    	Mafenetre.title('QCM')
    	Mafenetre.geometry('400x300+600+400')
     
    	Label1 = Label(Mafenetre, text = 'Voici un petit QCM présenté par Jonathan, Thibault , Landry ')
    	Label1.pack(side = TOP, padx = 5, pady = 5)
     
     
    	Label2 = Label(Mafenetre, text = 'Voulez- vous commencez ? ')
    	Label2.pack(side = LEFT, padx = 5, pady = 5)
     
    	Bouton = Button(Mafenetre, text ='Oui', command = quest )
    	Bouton.pack(side = LEFT, padx = 5, pady = 5)
     
    	Bouton = Button(Mafenetre, text ="Non", command = Mafenetre.destroy )
    	Bouton.pack(side = LEFT, padx = 5, pady = 5)
     
    	return Mafenetre
     
     
     
     
    if __name__ == "__main__":
    	Mafenetre = ihm()
    	Mafenetre.mainloop()

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 21
    Par défaut
    Je tiens à te remercier ! ça fait déjà plus propre !

    Après en ce qui consiste Tkinter je suis bloqué lorsque la fenêtre s'ouvre après que l'on ait mis oui , car je voudrais mettre les choix et question dans cette fenetre...

    je pense que le problème est que la fenêtre qui s'ouvre après avoir mis oui est définit dans la fonction "quest" et qu'elle est avant la suite du programme ..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. acoustique, musique sur Python
    Par Papou_28 dans le forum Programmation multimédia/Jeux
    Réponses: 7
    Dernier message: 25/04/2007, 08h12
  2. Application reseau de neurone sur python!
    Par tnouss dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 15/04/2007, 20h18
  3. Boucles sur python
    Par Spitfire378 dans le forum Général Python
    Réponses: 10
    Dernier message: 08/04/2007, 20h46
  4. Comment obtenir une adresse mac sur python
    Par Wael Maaoui dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 19/02/2007, 13h52

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