Ich versuche, ein Skript zu machen, die eine Mathegleichung fragt, dann hat der Benutzer in geben, was sie denken Antwort ist und dann ausgeben würde Python die AntwortAnzahl Eingabeerkennung in Python
jedoch aus irgendeinem Grund python mag raw_input() nicht in Korrelation mit der eval-Anweisung.
Zum Beispiel ist der Code:
print "What's 5+4"
a = raw_input()
print eval('5+4')
Wenn ich eintippen war bis 10 in var 'a', ich diese Fehlermeldung erhalten würde.
Aber wenn ich Raw_input durch die Zahl "5" ersetzen würde, sieht das Skript so aus.
print "What's 5+4"
a = 9
print eval('5+4')
Dann würde es 9 zurückgeben, also 5 + 4 = 9.
Gibt es sowieso, um dies zu beheben, so dass ich raw_input() verwenden kann, um den Benutzer zu fragen?
Es ist im Allgemeinen keine gute Idee, 'eval' zu verwenden, und Ihr Programm kann (wahrscheinlich) so modifiziert werden, dass es tun kann, was Sie wollen, ohne' eval' zu verwenden. Aber ich bin ein wenig verwirrt: _Warum machst du 'eval ('a + 4')'? –
Für Details zu den Gefahren von 'eval' siehe [Eval ist wirklich gefährlich] (http://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html) von SO Veteran Ned Batchelder. –
'eval' ist eine wirklich gefährliche Aussage in irgendeinem Programm. Wenn ich es benutzen würde, würde ich es nur beim Testen und Testen verwenden, während ich Code aus der Python-Shell schreibe. Und mit 'input()' ist das gleiche wie 'eval (raw_input())'. – TheRandomGuy