Dies ist der Code, den ich im Moment haben:raw_input() und mathematische Gleichungen mit boolean
print "What equation would you like"
a = raw_input()
print "What's", a
b = input()
print a == b
Ich möchte einen Benutzer aufzufordern, 3+4
eine Mathegleichung, zum Beispiel eingeben.
Ich habe versucht, dies zu konvertieren Python 3 mit Hilfe von Eingabe(), aber, da input()
tatsächlich die Gleichung lösen würde, würde die nächste Zeile darunter die Antwort auf die Gleichung wie folgt drucken: What's 7
.
Da die Idee versucht, die Gleichung für variable a
, die gesamte Idee des Codes inputed zu lösen, ist bedeutungslos, da sie buchstäblich 7
in geben könnte und die nächste Zeile True
weil 7 == 7
drucken würde.
Gibt es eine Möglichkeit, dass ich eine Gleichung wie 3+4
eingeben und tatsächlich What's 3+4
ausgeben kann, ohne dass Python mir sagt, dass das Endergebnis False
ist?
Oh und in Bezug auf: Math operations from string, habe ich tatsächlich diesen Beitrag vor dem Posten dieser Frage und was es sah im Grunde ist Python, um eine Antwort auf eine Gleichung auszugeben, die ganz gegen das, was ich versucht zu erreichen ging. Stattdessen wollte ich Python nur sagen, ob die Antwort, die ich eingegeben hatte, richtig oder falsch war, also richtig und falsch.
In Bezug auf meinen vorherigen Beitrag, war es einfach nur darum, eine Gleichung zu beantworten, die ich manuell in das Skript einfügte. Da ich jedoch einen Benutzer bitten möchte, eine mathematische Gleichung in das neue Skript einzugeben, würde die zuvor verwendete Methode nicht funktionieren.
Ich habe auch versucht ast.literal_eval(), aber ich habe diesen Fehler ...
Traceback (most recent call last):
File "/tmp/KANTL/Math.py", line 7, in <module>
print literal_eval(a) == literal_eval(b)
File "/usr/lib/python2.7/ast.py", line 80, in literal_eval
return _convert(node_or_string)
File "/usr/lib/python2.7/ast.py", line 79, in _convert
raise ValueError('malformed string')
ValueError: malformed string
Haben Sie versucht, 'raw_input()' für 'a' zu verwenden? – TigerhawkT3
Als Reaktion auf Tigerhawk - Ja, es sagt mir immer noch False für 'Drucken a == b' –
Erwarten Sie, um zwei Ausdrücke zu erhalten, zeigen sie so an, wie sie sind, und dann auswerten und vergleichen für die Gleichheit? – TigerhawkT3