Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.49 KB | None | 0 0
  1. from tkinter import *
  2. from decimal import *
  3. from statistics import *
  4.  
  5. #création de la fenêtre home
  6. home = Tk()
  7.  
  8. #personalisation de la fenêtre
  9. home.title("Calculateur de statisques (home)")
  10. home.minsize(1280, 720)
  11. home.maxsize(1280, 720)
  12. home.iconbitmap("Stat.ico")
  13. home.config(background='#1e232b')
  14.  
  15. #création de la fonction du démarrage du calculateur
  16. def start():
  17.     quit()
  18.     open_stat()
  19.  
  20. def quit():
  21.     home.destroy()
  22.  
  23. def open_stat():
  24.    
  25.     #création d'une nouvelle fenêtre
  26.     stats = Tk()
  27.    
  28.     #personnalisation de la nouvelle fenêtre
  29.     stats.title("Calculateur de statisques")
  30.     stats.minsize(1280, 720)
  31.     stats.maxsize(1280, 720)
  32.     stats.iconbitmap("Stat.ico")
  33.     stats.config(background='#1e232b')
  34.  
  35.     #création d'une frame
  36.     frame = Frame(stats, bg ='#1e232b')
  37.  
  38.     #création d'une sous frame
  39.     right_frame = Frame(frame, bg='#1e232b')
  40.  
  41.     #création d'une sous frame pour les réponses
  42.     réponses_frame = Frame(frame, bg='#1e232b')
  43.  
  44.     #ajout d'une image sur la frame principale
  45.     width = 500
  46.     height = 350
  47.     image = PhotoImage(file="statistiques.png")
  48.     canvas = Canvas(frame, width=width, height=height, bg='#1e232b', bd=0, highlightthickness=0)
  49.     canvas.create_image(width/2, height/2, image=image)
  50.     canvas.grid(row=0, column=0, sticky=W)
  51.  
  52.     #création d'une liste pour récupérer toutes les valeurs
  53.     valeurs = []
  54.  
  55.     #ajout de texte contenant la liste
  56.     label_liste = Label(right_frame, text = valeurs, font=("Calibri", 15), bg='#1e232b', fg='White')
  57.     label_liste.pack()
  58.  
  59.     #ajout de d'un champs de valeur sur la frame secondaire
  60.     valor_one = Entry(right_frame, font=("Calibri", 15), bg='#1e232b', fg='White')
  61.     valor_one.pack()
  62.  
  63.     #ajout d'un choix pour le nombres de quantiles texte + entry
  64.     quanti_label = Label(right_frame, text="Combien de quantiles ?", font=("Calibri", 15), bg='#1e232b', fg='White')
  65.     quanti_label.pack()
  66.     quanti_entry = Entry(right_frame, font=("Calibri", 15), bg='#1e232b', fg='White')
  67.     quanti_entry.pack()
  68.     quanti = double(quanti_entry.get())
  69.     #ajout d'un text pour le champ de réponses "moyennes"
  70.     label_moyenne = Label(réponses_frame, text="Moyenne", font=("Calibri", 15), bg='#1e232b', fg='White')
  71.     label_moyenne.pack()
  72.  
  73.     #ajout d'un champs de réponses
  74.     reply = Entry(réponses_frame, font=("Calibri", 15), bg='#1e232b', fg='White')
  75.     reply.pack()
  76.  
  77.     #ajout d'un texte pour le nombre de résultats
  78.     nbr_label = Label(réponses_frame, text ="Effectif total", font=("Calibri", 15), bg='#1e232b', fg='White')
  79.     nbr_label.pack()
  80.  
  81.     #ajout d'un champs de réponses pour le nombre de résultats
  82.     nrb_résultats = Entry(réponses_frame, font=("Calibri", 15), bg='#1e232b', fg='White')
  83.     nrb_résultats.pack()
  84.  
  85.     #ajout d'un texte pour la médiane
  86.     mediane_label = Label(réponses_frame,  text ="Médiane", font=("Calibri", 15), bg='#1e232b', fg='White')
  87.     mediane_label.pack()
  88.  
  89.     #ajout d'un champs de réponse pour la médiane
  90.     mediane = Entry(réponses_frame, font=("Calibri", 15), bg='#1e232b', fg='White')
  91.     mediane.pack()
  92.  
  93.     #ajout d'un texte pour le mode
  94.     mode_label = Label(réponses_frame,  text ="Le mode", font=("Calibri", 15), bg='#1e232b', fg='White')
  95.     mode_label.pack()
  96.  
  97.     #ajout d'un champs de réponse pour le mode
  98.     mode_reply = Entry(réponses_frame, font=("Calibri", 15), bg='#1e232b', fg='White')
  99.     mode_reply.pack()
  100.  
  101.     #ajout d'un texte pour la variance
  102.     variance_label = Label(réponses_frame,  text ="Variance", font=("Calibri", 15), bg='#1e232b', fg='White')
  103.     variance_label.pack()
  104.  
  105.     #ajout d'un champs de réponse pour la variance
  106.     variance_reply = Entry(réponses_frame, font=("Calibri", 15), bg='#1e232b', fg='White')
  107.     variance_reply.pack()
  108.  
  109.     #ajout d'un texte pour l'intervalle interquartile
  110.     interquartile_label = Label(réponses_frame,  text ="Intervalle interquartile", font=("Calibri", 15), bg='#1e232b', fg='White')
  111.     interquartile_label.pack()
  112.  
  113.     #ajout d'un champs de réponse pour l'intervalle interquartile
  114.     interquartile = Entry(réponses_frame, font=("Calibri", 15), bg='#1e232b', fg='White')
  115.     interquartile.pack()
  116.  
  117.     #création d'une fonction pour ajouter les résultats à la liste "valeurs"
  118.     def add_liste():
  119.         valeurs.append(Decimal(valor_one.get()))
  120.         print(valeurs)
  121.         valor_one.delete(0, END)
  122.         label_liste.config(text= valeurs)
  123.  
  124.     #création d'une fonction pour tout calculer
  125.     def calcul():
  126.         result = mean(valeurs)
  127.         print("Le résultats est {}".format(result))
  128.         reply.delete(0, END)
  129.         reply.insert(0, result)
  130.  
  131.         nbr = len(valeurs)
  132.         nrb_résultats.delete(0, END)
  133.         nrb_résultats.insert(0, nbr)
  134.  
  135.         median = median_grouped(valeurs)
  136.         mediane.delete(0, END)
  137.         mediane.insert(0, median)
  138.  
  139.         le_mode = mode(valeurs)
  140.         mode_reply.delete(0, END)
  141.         mode_reply.insert(0, le_mode)
  142.  
  143.         la_variance = variance(valeurs)
  144.         variance_reply.delete(0 ,END)
  145.         variance_reply.insert(0, la_variance)
  146.  
  147.         l_intervalle = quantiles(valeurs, n=quanti, method='exclusive')
  148.         interquartile.delete(0, END)
  149.         interquartile.insert(0, l_intervalle)
  150.    
  151.     #faux texte pour la right_frame
  152.     faux2_label = Label(right_frame, text="AAAAAAAAAAAA", bg='#1e232b', fg='#1e232b')
  153.     faux2_label.pack()
  154.  
  155.     #faux texte pour la réponses_frame
  156.     faux3_label = Label(réponses_frame, text="AAAAAAAAAAAA", bg='#1e232b', fg='#1e232b')
  157.     faux3_label.pack()
  158.  
  159.     #créer un bouton pour envoyer la réponses dans le liste
  160.     submit_button = Button(right_frame, text="Envoyer la réponse", font=("Calibri", 10), bg='White', fg='#1e232b', command=add_liste)
  161.     submit_button.pack()
  162.        
  163.     #créer un bouton pour calculer tout
  164.     moyenne_button = Button(réponses_frame, text="Calculer", font=("Calibri", 10), bg='White', fg='#1e232b', command=calcul)
  165.     moyenne_button.pack()
  166.  
  167.     #création d'une frame vide + faux texte
  168.     vide_frame = Frame(frame, bg='#1e232b')
  169.     faux_label = Label(vide_frame, text="AAAAAAAAAAAA", bg='#1e232b', fg='#1e232b')
  170.     faux_label.pack()
  171.     vide_frame.grid(row=0, column=2, sticky=W)
  172.  
  173.     #affichage de la frame + sous frame + sous frame pour réponses
  174.     réponses_frame.grid(row=0, column=3, sticky=W)
  175.     right_frame.grid(row=0, column=1, sticky=W)
  176.     frame.pack(expand=YES)
  177.  
  178.     #affichage de la nouvelle fenêtre
  179.     stats.mainloop()
  180.  
  181. #création d'une frame pour la fenêtre home
  182. frame = Frame(home, bg='#1e232b')
  183.  
  184. #création de sous frames
  185. sous_frame = Frame(frame, bg='#1e232b')
  186. fictif_frame = Frame(frame, bg='#1e232b')
  187.  
  188. #ajout de textes dans le frame principale
  189. label_title = Label(frame, text="Bienvenue sur ce programme réalisé pour calculer les statistiques", font=("Calibri", 30), bg='#1e232b', fg='White')
  190. label_title.pack()
  191. label_subtitle = Label(frame, text="Réalisé et codé par Emilien", font=("Calibri", 15), bg='#1e232b', fg='White')
  192. label_subtitle.pack()
  193.  
  194. #création de texte fictif
  195. label_fictif = Label(fictif_frame, text ="FICITF", font=("Calibri", 15), bg='#1e232b', fg='#1e232b')
  196. label_fictif.pack()
  197.  
  198. #création d'un bouton pour la sous frame
  199. start = Button(sous_frame, text="Ouvrir le calculateur", font=("Calibri", 10), bg='White', fg='#1e232b', command = start)
  200. start.pack()
  201.  
  202. #affiche de la frame
  203. frame.pack(expand = YES)
  204. fictif_frame.pack()
  205. sous_frame.pack()
  206.  
  207. #affichage des fenêtres
  208. home.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement