Cet article a été publié dans le cadre du Blogathon sur la science des données.
introduction
Présentation de Tkinter
Python fournit une bibliothèque GUI standard appelée Tkinter. Le module Tkinter permet de créer des applications GUI de manière simple et rapide. Tkinter fournit 15 types de widgets. Certains des plus courants sont Button, Étiqueter, Marco, Menu. Le message, bouton radio, le texte, la barre de défilement, etc. Vous pouvez en savoir plus à ce sujet ici Oui ici.
Dans cet article. nous allons créer un jeu de petits nombres. L'utilisateur continuera à recevoir des questions numériques. Ils y répondront et cliqueront sur Entrée pour passer à la question suivante jusqu'à ce qu'ils décident de quitter et de traiter le résultat.. Les réponses correctes et incorrectes seront capturées pour afficher le résultat à la fin. Nous utiliserons des widgets comme Label, Fin, Entrée, Texte, Bouton. Commençons le déploiement sans plus tarder.
Mise en œuvre
1. Importer des packages
Comme d'habitude, c'est une bonne idée de séparer toutes les importations. Au moins, je l'aime tellement!
importer tkinter importer au hasard à partir d'une importation aléatoire randint à partir du bouton d'importation tkinter importer matplotlib.pyplot en tant que plt importer numpy en tant que np
2. Création d'une fenêtre GUI et déclaration des variables globales
Nous allons créer la conception de l'interface. Décidez de la taille de la mise en page et d'un titre attrayant
racine = tkinter.Tk()
titre.racine("Êtes-vous intelligent!!")
racine.géométrie("400x200")
résultat_correct=0
réponses_correctes=0
total_questions=0
incorrect_answer=0
3. Fonction pour évaluer le résultat
Nous allons créer de petites définitions pour effectuer des tâches qui rendent le code facile à entretenir et à lire.
def évaluer(un événement):
résultat_correct global
entrée_utilisateur globale
user_input_given = user_input.get()
si str(user_input_given) == chaîne(résultat_correct):
réponses_correctes globales
bonnes_réponses += 1
question suivante()
autre:
réponse incorrecte globale
réponse_incorrecte += 1
result = tkinter.Label(racine, texte="Pas de veine!!nLa bonne réponse est : "+str(résultat_correct), police=('Helvetica', 10))
résultat.pack()
question suivante()
racine.après(1500, result.destroy)
4. Fonction pour créer une question
Usaremos aleatorio para crear un número entero aleatorio y una elección aleatoria para el operador ‘+’, ‘-‘ Oui ‘*’ afin que les utilisateurs puissent obtenir des ensembles aléatoires de questions numériques auxquelles répondre
def nextQuestion():
user_input.focus_set()
user_input.delete(0, tkinter.END)
global first_num
first_num = randint(1,15)
second_num global
second_num = randint(1,15)
caractère global
caractère = aléatoire.choix("+-*")
global correct_result
if character == '*':
correct_result = first_num*second_num
if character == '+':
correct_result = first_num+second_num
if character == '-':
correct_result = first_num-second_num
texte="Entrez la valeur de "+str(premier_num)+" "+caractère+" "+str(second_num)
total_questions global
total_questions += 1
question_utilisateur.config(texte=texte)
user_question.pack()
5. Quitter la fonction
Nous allons créer une petite fonction pour sortir et interagir et enregistrer les résultats.
def sortieCeci():
imprimer("Nombre total de questions auxquelles ont répondu : "+str(total_questions))
imprimer("Nombre total de réponses correctes : "+str(réponses correctes))
imprimer("Nombre total de réponses incorrectes : "+str(réponse incorrecte))
root.destroy()
6. Question initiale
Nous allons créer un premier ensemble de questions basé sur un nombre entier aléatoire et un ensemble aléatoire d'opérateurs numériques
first_num = randint(1,15)
second_num = randint(1,15)
caractère = aléatoire.choix("+-*")
if character == '*':
correct_result = first_num*second_num
if character == '+':
correct_result = first_num+second_num
if character == '-':
correct_result = first_num-second_num
7. Création d'étiquettes
Nous allons créer le texte et la conception de l'interface.
user_question = tkinter.Label(racine, texte="Entrez la valeur de "+str(premier_num)+" "+caractère+" "+str(second_num), police=('Helvetica', 10))
user_question.pack()
user_input = tkinter.Entry(racine)
root.bind('<Revenir>',évaluer)
user_input.pack()
user_input.focus_set()
exitButton = bouton(racine, texte="QUITTER et vérifier le résultat", command=exitThis)
exitButton.pack(côté="Haut", expand=Vrai, padx=4, tampons = 4)
8. Démarrer l'interface graphique
root.mainloop()
9. Affichage des résultats
Usaremos una barra y un diagramme circulaireLe graphique circulaire, Aussi connu sous le nom de graphique circulaire, est une représentation visuelle qui montre la proportion de différentes parties par rapport à un tout. Il est couramment utilisé en statistique pour illustrer la distribution de données catégorielles. Chaque section du graphique représente un pourcentage du total, faciliter la comparaison entre les catégories. Sa conception claire et concise en fait un outil efficace pour la présentation d’informations quantitatives.... para mostrar el resultado a los usuarios después de que decidan salir del juego.
#Tracer le graphique à barres plt.figure(0) objets = ('Total Number of Questions','Correct Answers','Incorrect answers') y_pos = np.arange(longueur(objets)) statistiques = [total_questions,réponses correctes,réponse incorrecte] plt.bar(y_pos, Statistiques, align='center', alpha=0,5) plt.xticks(y_pos, objets) plt.ylabel('Numbers') plt.titre('Your Result!')
#Tracer le camembert si str(total_questions) != "0": plt.figure(1) étiquettes="Réponses correctes",'Incorrect answers' sizes = [réponses correctes,réponse incorrecte] couleurs = ['vert', 'red'] exploser = (0.1, 0) # exploser la 1ère tranche plt.pie(tailles, exploser=exploser, étiquettes=étiquettes, couleurs=couleurs, autopct="%1.1F%%", ombre=Vrai, angle de départ = 140) plt.axis('equal') #Montrer les deux graphiques plt.show()
conclusion
Si tu es venu jusqu'ici, Il a dû être vraiment intrigué! Ensuite, voilà à quoi ça ressemble finalement



Partagez vos pensées si cet article était intéressant ou vous a aidé de quelque manière que ce soit. Toujours ouvert aux améliorations et suggestions. Vous pouvez trouver le code dans Github
Les médias présentés dans cet article ne sont pas la propriété de DataPeaker et sont utilisés à la discrétion de l'auteur.
En rapport
Articles Similaires:
- Types de données en Python | 6 types de données standard en Python
- Bibliothèque BeautifulSoup | Scraping Web avec Python: Bibliothèque BeautifulSoup
- Bibliothèque AutoScraper | Automatisez le scraping Web avec la bibliothèque AutoScraper
- Une incroyable bibliothèque Python pour extraire des données tabulaires à partir de fichiers PDF



