Gehts um folgendes. Ich will eine "mini"-Formelsammlung mittels Python schreiben. Soweit sogut, doch nun bin ich auf ein Punkt gestoßen, wo ich net weiter komme. Hoffe mir wird hier geholfen.
Die Formels müsste so aussehen.
Gedanke: Bei Punkt 1. sollte man die Werte eingeben und wenn man auf Berechnen drücke, dan soll der Antwort im oberen Label (2.) erscheinen.
1.Frage:
Wie kann ich es machen, dass die Werte eingelesen und übernommen werden ( bei 1.)
Ich habe es mal mit .get() versucht. Problem: Die Werte werden dann zwar übernommen doch nicht in die Fkt. einbezogen.
2.Frage:
Was muss ich machen, damit das Ergebniss im oberen Label (bei 2.) erscheint? Da habe ich leider keinen Ansatz für.
Weiteres Problem: Ich darf Fkt. "class" und "self" nicht benutzen.
Code:
Code: Alles auswählen
import Tkinter
def ende():
main.withdraw()
# FUNKTIONEN
def fma(F=0,m=0,a=0):
F = float(F) # -> hier habe ich mit E1.get() versucht
m = float(m)
a = float(a)
if m > 0 and a > 0:
F=m*a
print("F = %.2f N" % F)
print("m = %.2f kg" % m)
print("a = %.2f m/s^2" % a)
return
if F > 0 and a > 0:
m=F/a
print("F = %.2f N" % F)
print("m = %.2f kg" % m)
print("a = %.2f m/s^2" % a)
return
if F > 0 and m > 0:
a=F/m
print("F = %.2f N" % F)
print("m = %.2f kg" % m)
print("a = %.2f m/s^2" % a)
return
def fml(F=0,M=0,l=0):
F = float(F)
M = float(M)
l = float(l)
if M > 0 and l > 0:
F=M*l
print("F = %.2f N" % F)
print("M = %.2f Nm" % M)
print("l = %.2f m" % l)
return
if F > 0 and l > 0:
M=F/l
print("F = %.2f N" % F)
print("M = %.2f Nm" % M)
print("l = %.2f m" % l)
return
if F > 0 and M > 0:
l=F/M
print("F = %.2f N" % F)
print("M = %.2f Nm" % M)
print("l = %.2f m" % l)
return
def pfa(p=0,F=0,A=0):
p = float(p)
F = float(F)
A = float(A)
if p > 0 and F > 0:
A=F/p
print("p = %.2f Pa" % p)
print("F = %.2f N" % F)
print("A = %.2f m^2" % A)
return
if p > 0 and A > 0:
F=p*A
print("p = %.2f Pa" % p)
print("F = %.2f N" % F)
print("A = %.2f m^2" % A)
return
if F > 0 and A > 0:
p=F/A
print("p = %.2f Pa" % p)
print("F = %.2f N" % F)
print("A = %.2f m^2" % A)
return
# Hauptprogramm
main = Tkinter.Tk()
main.title("Formelsammlung")
main.geometry("480x220")
# FELDER/FRAMES
#FrameAL mit Anzeige-Label
frameal = Tkinter.Frame(main)
frameal.pack(fill = Tkinter.X)
labelal = Tkinter.Label(frameal, bg="#FFFFFF", bd=4,
relief = "sunken", anchor="e")
labelal.pack(fill = Tkinter.X, pady = 10)
#FrameA
framea = Tkinter.Frame(main)
framea.pack(fill = Tkinter.X)
#FrameB
frameb = Tkinter.Frame(main)
frameb.pack(fill = Tkinter.X)
#FrameC
framec = Tkinter.Frame(main)
framec.pack(fill = Tkinter.X)
# LABELS
#Label One
label1 = Tkinter.Label(framea, text = "F = m*a")
label1["font"] = "Courier 12 italic"
label1["height"] = 2
label1["width"] = 15
label1["borderwidth"] = 4
label1["relief"] = "groove"
label1["bg"] = "#FFFFFF"
label1["fg"] = "#000000"
label1["anchor"] = "w"
label1.pack(side = Tkinter.LEFT)
#Label 2
label2 = Tkinter.Label(framea, text = "M = F*l")
label2["font"] = "Courier 12 italic"
label2["height"] = 2
label2["width"] = 15
label2["borderwidth"] = 4
label2["relief"] = "groove"
label2["bg"] = "#FFFFFF"
label2["fg"] = "#000000"
label2["anchor"] = "w"
label2.pack(side = Tkinter.LEFT)
#Label 3
label3 = Tkinter.Label(framea, text = "p = F/A")
label3["font"] = "Courier 12 italic"
label3["height"] = 2
label3["width"] = 15
label3["borderwidth"] = 4
label3["relief"] = "groove"
label3["bg"] = "#FFFFFF"
label3["fg"] = "#000000"
label3["anchor"] = "w"
label3.pack(side = Tkinter.LEFT)
#ENTRYS/EINGABEN
# Krafteingabe
E1 = Tkinter.Entry(frameb, width = 5)
E1.insert(0, 'F')
E1.pack(side = Tkinter.LEFT)
E2 = Tkinter.Entry(frameb, width = 4)
E2.insert(0, 'm')
E2.pack(side = Tkinter.LEFT)
E3 = Tkinter.Entry(frameb, width = 4)
E3.insert(0, 'a')
E3.pack(side = Tkinter.LEFT)
# Button1
b1 = Tkinter.Button(frameb, text = "Berechnen",
activebackground = "yellow", command = fma)
b1.pack(side = Tkinter.LEFT)
# Dregmomeneingabe
E4 = Tkinter.Entry(frameb, width = 5)
E4.insert(0, 'M')
E4.pack(side = Tkinter.LEFT)
E5 = Tkinter.Entry(frameb, width = 4)
E5.insert(0, 'F')
E5.pack(side = Tkinter.LEFT)
E6 = Tkinter.Entry(frameb, width = 4)
E6.insert(0, 'l')
E6.pack(side = Tkinter.LEFT)
# Button1
b2 = Tkinter.Button(frameb, text = "Berechnen",
activebackground = "yellow", command = fml)
b2.pack(side = Tkinter.LEFT)
# Druckneingabe
E7 = Tkinter.Entry(frameb, width = 5)
E7.insert(0, 'p')
E7.pack(side = Tkinter.LEFT)
E8 = Tkinter.Entry(frameb, width = 4)
E8.insert(0, 'F')
E8.pack(side = Tkinter.LEFT)
E9 = Tkinter.Entry(frameb, width = 4)
E9.insert(0, 'A')
E9.pack(side = Tkinter.LEFT)
# Button1
b3 = Tkinter.Button(frameb, text = "Berechnen",
activebackground = "yellow", command = pfa)
b3.pack(side = Tkinter.LEFT)
main.mainloop()