Seite 1 von 1

berechnungen mit informationen aus eingabefeldern

Verfasst: Freitag 17. Oktober 2014, 15:05
von GeeONE
hi,

als noob (sooooorrrryyyy) habe ich da mal so ein kleines projekt angefangen und habe diesbezueglich einmal ein paar fragen... vielleicht kann mir jemand hier helfen...

ich habe 4 eingabefelder erschaffen bei denen folgendes passieren soll...

wert aus feld eins (erwachsene personenanzahl) soll mit dem wert aus feld drei (preis fuer nen erwachsenen) multipliziert werden.
wert aus feld zwei (kinder anzahl) soll mit wert aus feld vier (preis fuers kind) multipliziert werden.

dann sollen diese beiden ergebnisse addiert werden und in dem fenster ausgegeben werden...

die felder und deren beschreibung habe ich ohne groessere probleme erschaffen koennen... bei den rechenfunktionen allerdings stosse ich jetzt auf meine grenzen...

wuerde mich ueber hilfe sehr freuen!

G

Re: berechnungen mit informationen aus eingabefeldern

Verfasst: Freitag 17. Oktober 2014, 15:09
von EyDu
Hallo und willkommen im Forum!

Wie sieht denn dein bisheriger Code aus?

Re: berechnungen mit informationen aus eingabefeldern

Verfasst: Freitag 17. Oktober 2014, 15:26
von GeeONE
*schaem* ...strotzt bestimmt nur so vor fehlern...

Code: Alles auswählen

from tkinter import *

def berechnung():
    Adults=float(Apeople.get())
    Children=float(Cpeople.get())
    totalad=Adults*Aprice
    totalch=Children*Cprice
    totalprice=totalad+totalch
    labelresult=Label(fenster,text="TOTAL %.2f" %totalprice).grid(row=7, column=2)
    
    

fenster = Tk()
fenster.title("Calculator")
fenster.geometry("300x300")

Aprice = StringVar()
Cprice = StringVar()
Apeople = StringVar()
Cpeople = StringVar()

Adultsprice = Entry(fenster, textvariable=Aprice)
Adultsprice.pack()


label1 = Label(text="Price per Adult")
label1.pack()

Childrenprice = Entry(fenster, textvariable=Cprice)
Childrenprice.pack()


label2 = Label(text="Price per Child")
label2.pack()

Adultpeople = Entry(fenster, textvariable=Apeople)
Adultpeople.pack()


label3 = Label(text="How many Adults?")
label3.pack()

Children = Entry(fenster, textvariable=Cpeople)
Children.pack()


label4 = Label(text="How many Children?")
label4.pack()

label5 = Label(text="TOTAL")
label5.pack()

Calculate = Button(fenster, text="Calculate", command=berechnung)
Calculate.pack()
 

mainloop()

Re: berechnungen mit informationen aus eingabefeldern

Verfasst: Freitag 17. Oktober 2014, 16:18
von GeeONE
mag denn niemand einem armen kleinen noob helfen? *grins*

Re: berechnungen mit informationen aus eingabefeldern

Verfasst: Freitag 17. Oktober 2014, 16:41
von Malta
Der Fehler ist:
TypeError: unsupported operand type(s) for *: 'float' and 'StringVar'

in der Zeile totalad=Adults*Aprice

Da wolltest du ein float und StringVar multiplizieren, das ist nicht möglich, du musst StringVar als float umwandeln, wie du es eine zeile zuvor auch getan hast.

So kann es funitionieren:

Code: Alles auswählen

from tkinter import *
     
def berechnung():
        Adults = float(Apeople.get())
        Children = float(Cpeople.get())
        totalad = Adults * float(Aprice.get())
        totalch = Children * float(Cprice.get())
        totalprice = totalad + totalch
        result.set("TOTAL %.2f" %totalprice)

if __name__ == "__main__":
    fenster = Tk()
    fenster.title("Calculator")
    fenster.geometry("300x300")
     
    Aprice = StringVar()
    Cprice = StringVar()
    Apeople = StringVar()
    Cpeople = StringVar()
    result = StringVar()
     
    Adultsprice = Entry(fenster, textvariable=Aprice)
    Adultsprice.pack()
 
    label1 = Label(text="Price per Adult")
    label1.pack()
     
    Childrenprice = Entry(fenster, textvariable=Cprice)
    Childrenprice.pack()
     
    label2 = Label(text="Price per Child")
    label2.pack()
     
    Adultpeople = Entry(fenster, textvariable=Apeople)
    Adultpeople.pack()
     
    label3 = Label(text="How many Adults?")
    label3.pack()
     
    Children = Entry(fenster, textvariable=Cpeople)
    Children.pack()
 
    label4 = Label(text="How many Children?")
    label4.pack()
     
    label5 = Label(text="TOTAL")
    label5.pack()
     
    Calculate = Button(fenster, text="Calculate", command=berechnung)
    Calculate.pack()
     
    labelresult = Entry(fenster, textvariable=result)
    labelresult.pack()
     
    mainloop()

Re: berechnungen mit informationen aus eingabefeldern

Verfasst: Freitag 17. Oktober 2014, 16:54
von GeeONE
danke fuer deine hilfe!