eval('1/3') soll 0.33, nicht 0 ausgeben
Verfasst: Montag 17. März 2008, 23:02
Guten Abend!
Heute hab ich mir mal meine alten Programme angesehen und dabei einen Tkinter-Taschenrechner entdeckt, welcher jedoch bei der Eingabe 1/3 0 ausgibt. Im Programm wird der Textentry mit eval(textentry.get()) ausgewertet, doch leider rechnet letzteres auch mit Integern, sofern ich nicht 1.0/3 oder 1/3.0 usw. schreibe.
Was ist nun die einfachste Möglichkeit, eine Zeichenkette mit einer Rechenaufgabe unter Verwendung von Floats auszurechnen? Ich könnte natürlich das ganze aufwändig zerlegen und ausrechnen, aber vielleicht gibt es ja einen einfacheren Weg.
Danke schonmal im Voraus,
Pythonierer!
PS: eval() ist ja sowieso unsicher, aber falls es die einzige Lösung sein sollte, ist mir das in diesem Fall egal.
Heute hab ich mir mal meine alten Programme angesehen und dabei einen Tkinter-Taschenrechner entdeckt, welcher jedoch bei der Eingabe 1/3 0 ausgibt. Im Programm wird der Textentry mit eval(textentry.get()) ausgewertet, doch leider rechnet letzteres auch mit Integern, sofern ich nicht 1.0/3 oder 1/3.0 usw. schreibe.
Was ist nun die einfachste Möglichkeit, eine Zeichenkette mit einer Rechenaufgabe unter Verwendung von Floats auszurechnen? Ich könnte natürlich das ganze aufwändig zerlegen und ausrechnen, aber vielleicht gibt es ja einen einfacheren Weg.
Danke schonmal im Voraus,
Pythonierer!
PS: eval() ist ja sowieso unsicher, aber falls es die einzige Lösung sein sollte, ist mir das in diesem Fall egal.