Frage von SimpleAnswers, 51

Python: Matheaufgabe als String lösen?

Wie kann ich am besten eine Matheaufgabe als String lösen?

Beispiel:
aufgabe = "30 + 30"
lösen(aufgabe)

Gibt es vielleicht ein package dafür?

Antwort
von Fregrin, 32

eval() sollte sein, was du brauchst:
http://effbot.org/zone/librarybook-core-eval.htm

Kommentar von SimpleAnswers ,

Danke, weißt du ob da auch Gleichungen enthalten sind?

Kommentar von Fregrin ,

eval führt den (Python) Code einfach nur aus. Nicht mehr und nicht weniger. Also alles was du auf der python shell auch machen kannst.

Antwort
von xXFreddy, 24

Hey,

Die einfachste Möglichkeit wäre eval zu benutzen, aber es ist so wie es heißt, "evil" ;), denn du solltest das nicht unbedingt benutzen, denn diese Funktion konvertiert einen String in Python Code, heißt du kannst wenn du Benutzer eingaben annimmst einfach Code ausführen was Sicherheitstechnisch nicht so toll ist versteht sich ;)

die bessere Möglichkeit die aber auch nicht so gut ist ist ast zu benutzen,

also 

ast.literal_eval("30 + 30")

MfG 
Freddy

Keine passende Antwort gefunden?

Fragen Sie die Community