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.
eval('1/3') soll 0.33, nicht 0 ausgeben
Code: Alles auswählen
>>> from __future__ import division
>>> 1/3
0.33333333333333331
-
- User
- Beiträge: 41
- Registriert: Samstag 13. Januar 2007, 15:26
Danke, das ging ja schnell!
__future__ kannte ich noch gar nicht, werd ich mal anschauen, was da sonst noch so drinnen ist.
Schönen Abend noch,
ciao.
__future__ kannte ich noch gar nicht, werd ich mal anschauen, was da sonst noch so drinnen ist.
Schönen Abend noch,
ciao.
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Na, die Zukunft natuerlich. Das Modul ist besonders interessant fuer berufliche Kartenleger, Astrologen und Kaffeesatzleser.Pythonierer hat geschrieben:__future__ kannte ich noch gar nicht, werd ich mal anschauen, was da sonst noch so drinnen ist.

SCNR
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei