Ich baue gerade ein "Rechner" für unsere Formelsammlung und brauche hilfe.
Formel für flächeninhalt eines Dreiecks:A=(g*h)/2 oder (1/2)*a*b*sin(γ)
die erste funktioniert perfekt aber die 2. gibt immer 0 aus

der fehler muss also bei meiner prozedur liegen.
Ich kann das programm hier nicht in den anhang tun oder finde es nicht also ist der quellcode hier

from tkinter import *
import math
# variable.get() holt den aktuellen Wert der Variable
# variable.set() gibt den aktuellen Wert der Variable vor
####Funktionen
def test(event):
if variable.get()=="Dreieck":
LbLbeschriftung1.set("g")
LbLbeschriftung2.set("h")
LbLbeschriftung3.set("a")
LbLbeschriftung4.set("b")
LbLbeschriftung5.set("γ°")
LbLbeschriftung6.set("---")
elif variable.get()=="Quadrat":
LbLbeschriftung1.set("a")
LbLbeschriftung2.set("---")
LbLbeschriftung3.set("---")
LbLbeschriftung4.set("---")
LbLbeschriftung5.set("---")
LbLbeschriftung6.set("---")
elif variable.get()=="Rechteck":
LbLbeschriftung1.set("a")
LbLbeschriftung2.set("b")
LbLbeschriftung3.set("---")
LbLbeschriftung4.set("---")
LbLbeschriftung5.set("---")
LbLbeschriftung6.set("---")
elif variable.get()=="Raute":
LbLbeschriftung1.set("g")
LbLbeschriftung2.set("h")
LbLbeschriftung3.set("e")
LbLbeschriftung4.set("f")
LbLbeschriftung5.set("---")
LbLbeschriftung6.set("---")
elif variable.get()=="Parallelogramm":
LbLbeschriftung1.set("g")
LbLbeschriftung2.set("b")
LbLbeschriftung3.set("h")
LbLbeschriftung4.set("---")
LbLbeschriftung5.set("---")
LbLbeschriftung6.set("---")
elif variable.get()=="Trapez":
LbLbeschriftung1.set("a")
LbLbeschriftung2.set("c")
LbLbeschriftung3.set("b")
LbLbeschriftung4.set("d")
LbLbeschriftung5.set("m")
LbLbeschriftung6.set("h")
elif variable.get()=="Drachenviereck":
LbLbeschriftung1.set("a")
LbLbeschriftung2.set("b")
LbLbeschriftung3.set("e")
LbLbeschriftung4.set("f")
LbLbeschriftung5.set("---")
LbLbeschriftung6.set("---")
elif variable.get()=="Kreis":
LbLbeschriftung1.set("d")
LbLbeschriftung2.set("r")
LbLbeschriftung3.set("---")
LbLbeschriftung4.set("---")
LbLbeschriftung5.set("---")
LbLbeschriftung6.set("---")
elif variable.get()=="Figuren↓↓↓":
LbLbeschriftung1.set("Die")
LbLbeschriftung2.set("folgenden")
LbLbeschriftung3.set("Label")
LbLbeschriftung4.set("werden")
LbLbeschriftung5.set("sich")
LbLbeschriftung6.set("umbenennen.")
def Rechnen():
if variable.get()=="Dreieck":
print("Dreieck")
if EingabeFeld1.get !="0" and EingabeFeld2.get !="0":
Erg=(int(EingabeFeld1.get()) * int(EingabeFeld2.get()))/2
ALbLbeschrifftung.set(Erg)
elif EingabeFeld3.get !="0" and EingabeFeld4.get !="0" and EingabeFeld5.get != "0":
γ=int(EingabeFeld5.get())
Erg=(1/2)*int(EingabeFeld3.get())*int(EingabeFeld4.get())* math.sin(γ) #math.sin(γ*math.pi/180) mir wurde das empholen oder math.sin(radians(γ))
ALbLbeschrifftung.set(Erg)
elif variable.get()=="Quadrat":
print("Quadrat")
elif variable.get()=="Rechteck":
print("Rechteck")
elif variable.get()=="Raute":
print("Raute")
elif variable.get()=="Parallelogramm":
print("Parallelogramm")
elif variable.get()=="Trapez":
print("Trapez")
elif variable.get()=="Drachenviereck":
print("Drachenviereck")
elif variable.get()=="Kreis":
print("Kreis")
elif variable.get()=="Figuren↓↓↓":
print("Ratter Ratter Ratter, Oh eine Fehler ist aufgetreten")
####GUI name
GUI = Tk()
GUI.title("Formelsammlung")
####Variablen
variable = StringVar(GUI)
LbLbeschriftung1 = StringVar(GUI)
LbLbeschriftung2 = StringVar(GUI)
LbLbeschriftung3 = StringVar(GUI)
LbLbeschriftung4 = StringVar(GUI)
LbLbeschriftung5 = StringVar(GUI)
LbLbeschriftung6 = StringVar(GUI)
ULbLbeschrifftung = StringVar(GUI)
ALbLbeschrifftung = StringVar(GUI)
####Auswahlfenster
data=("Figuren↓↓↓", "Dreieck", "Quadrat", "Rechteck","Raute","Parallelogramm","Trapez","Drachenviereck","Kreis")
variable.set("Figuren↓↓↓")
Auswahl = OptionMenu(GUI, variable, *data, command=test)
Auswahl.grid(row=0, column=0)
####Button
RechnenBTN = Button(GUI, command=Rechnen, text="Rechnen")
RechnenBTN.grid(row=1, column=0)
####Textbox
EingabeFeld1 = Entry(GUI)
EingabeFeld1 .grid(row=2, column=2)
EingabeFeld2 = Entry(GUI)
EingabeFeld2 .grid(row=3, column=2)
EingabeFeld3 = Entry(GUI)
EingabeFeld3 .grid(row=4, column=2)
EingabeFeld4 = Entry(GUI)
EingabeFeld4 .grid(row=5, column=2)
EingabeFeld5 = Entry(GUI)
EingabeFeld5 .grid(row=6, column=2)
EingabeFeld6 = Entry(GUI)
EingabeFeld6 .grid(row=7, column=2)
####Label
LbLbeschriftung1.set("Die")
LbLbeschriftung2.set("folgenden")
LbLbeschriftung3.set("label")
LbLbeschriftung4.set("werden")
LbLbeschriftung5.set("sich")
LbLbeschriftung6.set("umbenennen.")
label1 = Label(GUI, textvariable=LbLbeschriftung1,height=1, width=14)
label1.grid(row=2, column=1)
label2 = Label(GUI, textvariable=LbLbeschriftung2,height=1, width=14)
label2.grid(row=3, column=1)
label3 = Label(GUI, textvariable=LbLbeschriftung3,height=1, width=14)
label3.grid(row=4, column=1)
label4 = Label(GUI, textvariable=LbLbeschriftung4,height=1, width=14)
label4.grid(row=5, column=1)
label5 = Label(GUI, textvariable=LbLbeschriftung5,height=1, width=14)
label5.grid(row=6, column=1)
label6 = Label(GUI, textvariable=LbLbeschriftung6,height=1, width=14)
label6.grid(row=7, column=1)
label9 = Label(GUI, text="Bitte geben sie nur ganze zahlen ein",height=1, width=30)
label9.grid(row=0, column=2)
label9 = Label(GUI, text="fall sie keinen wert haben setzen sie ein [0] ein",height=1, width=35)
label9.grid(row=1, column=2)
####
label7 = Label(GUI, text="Flächeninhalt=",height=1, width=14)
label7.grid(row=8, column=1)
ALbL = Label(GUI, textvariable=ALbLbeschrifftung,height=1, width=14)
ALbL.grid(row=8, column=2)
label8 = Label(GUI, text="Umfang=",height=1, width=14)
label8.grid(row=9, column=1)
ULbL = Label(GUI, textvariable=ULbLbeschrifftung,height=1, width=14)
ULbL.grid(row=9, column=2)
####
mainloop()
ich glaube ich stehe auf dem schlauch