[PYTHON] Calculateur de performances de grève

introduction

Ravi de vous rencontrer. Ce sera le premier message. Le texte et les livrables seront enfantins, mais j'espère que vous pourrez les voir avec des yeux chaleureux.


Motivation

Dans le baseball moderne, les indicateurs sont de plus en plus courants. J'ai fabriqué un tel ordinateur parce que je pensais que si je pouvais calculer l'indice moi-même, je pourrais profiter des matchs de baseball, qui est mon hobby.


Procédure de production

Commencez par créer une fenêtre.

window


# coding-utf:8
import tkinter as tk

#Faire une fenêtre
root = tk.Tk()
root.geometry("400x300")
root.title("Calculateur de performances de grève")

#Courir
root.mainloop()

Ensuite, créez une étiquette.

label


#étiquette
labell = tk.Label(root, text="nombre de places",font=("Helvetica", 12))
labell.place(x = 20, y = 20)
label2 = tk.Label(root, text="Coup unique",font=("Helvetica", 12))
label2.place(x = 20, y = 70)
label3 = tk.Label(root, text="double",font=("Helvetica", 12))
label3.place(x = 20, y = 120)
label4 = tk.Label(root, text="Troisieme base",font=("Helvetica", 12))
label4.place(x = 20, y = 170)
label5 = tk.Label(root, text="Base d'accueil",font=("Helvetica", 12))
label5.place(x = 220, y = 20)
label6 = tk.Label(root, text="Quatre balles mortes",font=("Helvetica", 12))
label6.place(x = 220, y = 70)
label7 = tk.Label(root, text="Sacrifice de sacrifice",font=("Helvetica", 12))
label7.place(x = 220, y = 120)

Créez une zone de texte.

editbox


#Zone de texte
editbox1 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox1.place(x = 90, y = 20)
editbox2 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox2.place(x = 90, y = 70)
editbox3 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox3.place(x = 90, y = 120)
editbox4 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox4.place(x = 90, y = 170)
editbox5 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox5.place(x = 310, y = 20)
editbox6 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox6.place(x = 310, y = 70)
editbox7 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox7.place(x = 310, y = 120)

Créez un bouton et définissez le processus pour que le message s'affiche.

button


import tkinter.messagebox as tsmg

#Que faire lorsque vous cliquez sur le bouton
def ButtonClick():
    a = editbox1.get()
    b = editbox2.get()
    c = editbox3.get()
    d = editbox4.get()
    e = editbox5.get()
    f = editbox6.get()
    g = editbox7.get()
    tsmg.showinfo("moyenne au bâton",(int(b) + int(c) + int(d) + int(e))/(int(a) - int(f) - int(g)))
    tsmg.showinfo("Taux de base",(int(b) + int(c) + int(d) + int(e) + int(f))/int(a))
    tsmg.showinfo("Taux de succès long",((int(b) + int(c)*2 + int(d)*3 + int(e)*4 )/ (int(a) - int(f) - int(g))))
    tsmg.showinfo("ops",((int(b) + int(c) + int(d) + int(e) + int(f))/int(a))+(((int(b) + int(c)*2 + int(d)*3 + int(e)*4 )/ (int(a) - int(f) - int(g)))))

#bouton
buttan1 = tk.Button(root, text = "Calcul", font=("Helvetica", 26), command=ButtonClick)
buttan1.place(x = 80, y = 220)

Combiné et terminé.

code

# coding-utf:8
import tkinter as tk
import tkinter.messagebox as tsmg

#Que faire lorsque vous cliquez sur le bouton
def ButtonClick():
    a = editbox1.get()
    b = editbox2.get()
    c = editbox3.get()
    d = editbox4.get()
    e = editbox5.get()
    f = editbox6.get()
    g = editbox7.get()
    tsmg.showinfo("moyenne au bâton",(int(b) + int(c) + int(d) + int(e))/(int(a) - int(f) - int(g)))
    tsmg.showinfo("Taux de base",(int(b) + int(c) + int(d) + int(e) + int(f))/int(a))
    tsmg.showinfo("Taux de succès long",((int(b) + int(c)*2 + int(d)*3 + int(e)*4 )/ (int(a) - int(f) - int(g))))
    tsmg.showinfo("ops",((int(b) + int(c) + int(d) + int(e) + int(f))/int(a))+(((int(b) + int(c)*2 + int(d)*3 + int(e)*4 )/ (int(a) - int(f) - int(g)))))

#Faire une fenêtre
root = tk.Tk()
root.geometry("400x300")
root.title("Calculateur de performances de grève")

#étiquette
labell = tk.Label(root, text="nombre de places",font=("Helvetica", 12))
labell.place(x = 20, y = 20)
label2 = tk.Label(root, text="Coup unique",font=("Helvetica", 12))
label2.place(x = 20, y = 70)
label3 = tk.Label(root, text="double",font=("Helvetica", 12))
label3.place(x = 20, y = 120)
label4 = tk.Label(root, text="Troisieme base",font=("Helvetica", 12))
label4.place(x = 20, y = 170)
label5 = tk.Label(root, text="Base d'accueil",font=("Helvetica", 12))
label5.place(x = 220, y = 20)
label6 = tk.Label(root, text="Quatre balles mortes",font=("Helvetica", 12))
label6.place(x = 220, y = 70)
label7 = tk.Label(root, text="Sacrifice de sacrifice",font=("Helvetica", 12))
label7.place(x = 220, y = 120)



#Zone de texte
editbox1 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox1.place(x = 90, y = 20)
editbox2 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox2.place(x = 90, y = 70)
editbox3 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox3.place(x = 90, y = 120)
editbox4 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox4.place(x = 90, y = 170)
editbox5 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox5.place(x = 310, y = 20)
editbox6 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox6.place(x = 310, y = 70)
editbox7 = tk.Entry(width = 6,font=("Helvetica", 12))
editbox7.place(x = 310, y = 120)


#bouton
buttan1 = tk.Button(root, text = "Calcul", font=("Helvetica", 26), command=ButtonClick)
buttan1.place(x = 80, y = 220)

#Courir
root.mainloop()

État d'exécution

a.png b.png c.png d.png

C'est le résultat de Matt Merton en 2010. Si vous consultez le site Web officiel de la NPB, vous pouvez voir que le calcul est correct.


Réflexion

・ Les notes calculées ne peuvent pas être affichées ensemble. Vous devez appuyer plusieurs fois sur OK, ce qui est un problème.


Impressions

J'ai programmé à partir de zéro pour la première fois et j'ai réalisé à quel point c'était difficile. Celui que j'ai fait cette fois n'est ni nouveau ni pratique. Avec cela comme ligne de départ, je voudrais faire des efforts pour fabriquer de meilleurs produits à l'avenir.


Supplément

indice

Les quatre types calculés cette fois sont le taux de réussite, le taux de base, le taux de réussite longue et les opérations. Taux de succès: un indice indiquant le taux de succès Taux de base: un indice indiquant le taux de base Taux de succès long: un index indiquant le nombre de succès de base obtenus ops: un indicateur de la capacité de frappe globale Veuillez consulter ici pour plus de détails. Je voulais vraiment faire plus de calculs, mais j'ai abandonné car ce serait ennuyeux s'il y avait trop d'affichages de messages.

Réfléxion personnelle

** ・ Travaillez autant que vous le pouvez avec une marge ** C'est important. Très important. Au début, je pensais faire un jeu avec Pyxel, mais j'ai abandonné parce que je ne pouvais pas le terminer. Au final, je n'avais pas assez de temps à consacrer à ce travail et c'est devenu simple. J'ai réalisé l'importance de faire un plan.

・ Ponctuation ,. Quand,. Lequel dois-je utiliser?


Documents et sites référencés

Écrit par Fumitaka Osawa, la classe d'introduction Python la plus simple, publiée par Sotec https://npb.jp/bis/players/53155131.html https://1point02.jp/op/gnav/glossary/gls_index.aspx

Recommended Posts

Calculateur de performances de grève
Performances Actix-web