[PYTHON] Strike-Leistungsrechner

Einführung

Freut mich, dich kennenzulernen. Es wird der erste Beitrag sein. Sowohl der Text als auch die Ergebnisse werden kindisch sein, aber ich hoffe, Sie können sie mit warmen Augen sehen.


Motivation

Im modernen Baseball werden Indikatoren immer häufiger. Ich habe einen solchen Computer gebaut, weil ich dachte, wenn ich den Index selbst berechnen könnte, könnte ich gerne Baseballspiele schauen, was mein Hobby ist.


Produktionsverfahren

Erstellen Sie zunächst ein Fenster.

window


# coding-utf:8
import tkinter as tk

#Mach ein Fenster
root = tk.Tk()
root.geometry("400x300")
root.title("Strike-Leistungsrechner")

#Lauf
root.mainloop()

Als nächstes machen Sie ein Etikett.

label


#Etikette
labell = tk.Label(root, text="Anzahl der Sitze",font=("Helvetica", 12))
labell.place(x = 20, y = 20)
label2 = tk.Label(root, text="Einzelschlag",font=("Helvetica", 12))
label2.place(x = 20, y = 70)
label3 = tk.Label(root, text="doppelt",font=("Helvetica", 12))
label3.place(x = 20, y = 120)
label4 = tk.Label(root, text="Dritte Basis",font=("Helvetica", 12))
label4.place(x = 20, y = 170)
label5 = tk.Label(root, text="Heimatbasis",font=("Helvetica", 12))
label5.place(x = 220, y = 20)
label6 = tk.Label(root, text="Vier tote Bälle",font=("Helvetica", 12))
label6.place(x = 220, y = 70)
label7 = tk.Label(root, text="Opfer opfern",font=("Helvetica", 12))
label7.place(x = 220, y = 120)

Erstellen Sie ein Textfeld.

editbox


#Textfeld
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)

Erstellen Sie eine Schaltfläche und stellen Sie den Prozess so ein, dass die Nachricht angezeigt wird.

button


import tkinter.messagebox as tsmg

#Was tun, wenn auf die Schaltfläche geklickt wird?
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("Schlagdurchschnitt",(int(b) + int(c) + int(d) + int(e))/(int(a) - int(f) - int(g)))
    tsmg.showinfo("Grundtarif",(int(b) + int(c) + int(d) + int(e) + int(f))/int(a))
    tsmg.showinfo("Lange Trefferquote",((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)))))

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

Kombiniert und abgeschlossen.

Code

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

#Was tun, wenn auf die Schaltfläche geklickt wird?
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("Schlagdurchschnitt",(int(b) + int(c) + int(d) + int(e))/(int(a) - int(f) - int(g)))
    tsmg.showinfo("Grundtarif",(int(b) + int(c) + int(d) + int(e) + int(f))/int(a))
    tsmg.showinfo("Lange Trefferquote",((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)))))

#Mach ein Fenster
root = tk.Tk()
root.geometry("400x300")
root.title("Strike-Leistungsrechner")

#Etikette
labell = tk.Label(root, text="Anzahl der Sitze",font=("Helvetica", 12))
labell.place(x = 20, y = 20)
label2 = tk.Label(root, text="Einzelschlag",font=("Helvetica", 12))
label2.place(x = 20, y = 70)
label3 = tk.Label(root, text="doppelt",font=("Helvetica", 12))
label3.place(x = 20, y = 120)
label4 = tk.Label(root, text="Dritte Basis",font=("Helvetica", 12))
label4.place(x = 20, y = 170)
label5 = tk.Label(root, text="Heimatbasis",font=("Helvetica", 12))
label5.place(x = 220, y = 20)
label6 = tk.Label(root, text="Vier tote Bälle",font=("Helvetica", 12))
label6.place(x = 220, y = 70)
label7 = tk.Label(root, text="Opfer opfern",font=("Helvetica", 12))
label7.place(x = 220, y = 120)



#Textfeld
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)


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

#Lauf
root.mainloop()

Ausführungszustand

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

Dies ist das Ergebnis von Matt Merton im Jahr 2010. Wenn Sie die offizielle NPB-Website überprüfen, können Sie feststellen, dass die Berechnung korrekt ist.


Betrachtung

・ Die berechneten Noten können nicht zusammen angezeigt werden. Sie müssen viele Male OK drücken, was ein Ärger ist.


Impressionen

Ich habe zum ersten Mal von Grund auf neu programmiert und festgestellt, wie schwierig es war. Die, die ich diesmal gemacht habe, ist weder neu noch bequem. Vor diesem Hintergrund möchte ich mich bemühen, in Zukunft bessere Produkte herzustellen.


Ergänzung

Index

Die vier diesmal berechneten Typen sind Trefferquote, Basisquote, lange Trefferquote und Einsatz. Trefferquote: Ein Index, der die Trefferquote anzeigt Basiszinssatz: Ein Index, der den Basiszinssatz anzeigt Lange Trefferquote: Ein Index, der angibt, wie viele Basistreffer erzielt wurden ops: Ein Indikator für die allgemeine Schlagkraft Weitere Informationen finden Sie unter hier. Ich wollte wirklich mehr Berechnungen durchführen, gab aber auf, weil es ärgerlich wäre, wenn zu viele Meldungen angezeigt würden.

Persönliche Reflexion

** ・ Arbeite so viel wie möglich mit einem Rand ** Das ist wichtig. Sehr wichtig. Zuerst dachte ich daran, ein Spiel mit Pyxel zu machen, aber ich gab auf, weil ich es nicht beenden konnte. Am Ende hatte ich nicht genug Zeit für diese Arbeit und es wurde einfach. Mir wurde klar, wie wichtig es ist, einen Plan zu erstellen.

・ Interpunktion ,. Wann,. Welches soll ich verwenden?


Referenzierte Dokumente und Websites

Geschrieben von Fumitaka Osawa, der einfachsten Python-Einführungsklasse, die von Sotec veröffentlicht wurde https://npb.jp/bis/players/53155131.html https://1point02.jp/op/gnav/glossary/gls_index.aspx

Recommended Posts

Strike-Leistungsrechner
Actix-Web-Leistung