eval SyntaxError: Ungültige Syntax in Python

8

Ich möchte Folgendes zuweisen:

%Vor%

Ich schreibe den Code, um auszudrücken, dass ich die Ausgabe einer Zeichenkette 123 erhalten kann, wenn Sie x1 oder x8 eingeben.

%Vor%

Wie kann ich das machen?

    
it_is_a_literature 21.03.2014, 12:18
quelle

3 Antworten

6

Für die dynamische Ausführung von Anweisungen verwenden Sie exec statement.

%Vor%

Eval Usgae: eval(expression)

Das Argument expression wird analysiert und als Python-Ausdruck ausgewertet

zB:

%Vor%     
suhailvs 21.03.2014, 12:28
quelle
11

eval() erlaubt nur Ausdrücke . Zuordnung ist kein Ausdruck, sondern eine Aussage; Sie müssten stattdessen exec verwenden.

Selbst dann könnten Sie das globals() Dictionary verwenden, um dem globalen Namespace Namen hinzuzufügen, und Sie müssen keine beliebige Ausführung von Ausdrücken verwenden.

Sie wirklich möchten dies nicht tun, Sie müssen Daten von Ihrem Konto fernhalten Variablennamen und verwenden stattdessen eine Liste oder ein Wörterbuch:

%Vor%

würde Ihnen eine Liste geben, die Sie als x[0] , x[1] usw. adressieren können, ohne dass Sie beliebige Ausdrücke ausführen müssen.

    
Martijn Pieters 21.03.2014 12:22
quelle
-1

Sie können Ihnen diesen Ausdruck geben.

%Vor%     
user3164787 25.06.2015 07:31
quelle

Tags und Links