Hallo basstscho,
willkommen in Forum. Es gibt Wege wie du das in python realisieren kannst, sowie du es aber über Strings machst ist es sehr unüblich. Am besten sagst du uns was du eigentlich machen willst.
Falls du trotzdem das Ganze über Strings lösen willst musst du eine Abbildung konstruieren, die dir sagt welche String auf welchen Operator abbildet. So zum Beispiel:
Code: Alles auswählen
import operator
operator_mapping = {"==" : operator.eq,
"and" : operator.iand}
e = 1
a = 1
c = 2
vo = "=="
vi = "and"
result = operator_mapping[vi](operator_mapping[vo](c,a), operator_mapping[vo](e,a))
print result
Du siehst, dass du die Argumente nach dem Operator schreiben musst, du verlierst also die Infixnotation und nutzt stattdessen die Prefixnotation.
Den folgenden Abschnitt solltest du auf keinen Fall in produkivem Code verwenden! Er löst zwar das Problem, er dient lediglich zur Demonstration.
Code: Alles auswählen
result = eval("e {op1} a {op2} c {op1} a".format(op1="==", op2="and"))
print result
Grüße,
anogayales