Я пытаюсь построить калькулятор, используя PyQt5, и я получаю строку, которую мне нужно оценить, и назначаю ее переменной, чтобы я мог передать эту переменную виджетам в качестве ответа. До сих пор я могу оценить выражение, но не могу разобрать его. Как я могу это сделать ? пока у меня есть следующий код: -
# this functions gets called when Enter is pressed
def etrp(self):
eqn = self.sender().text() #I get string like '23+4'
eqn1 = "{0} = {1}".format("global x",eqn) #I make it x = 23+4
x = 0
exec(eqn1) # I get error here
print(x)
#some code .....
Когда я пытаюсь запустить его без глобала, он запускается без ошибки, но x остается равным 0, и если я запускаю его так, я получаю эту ошибку: -
qt5ct: using qt5ct plugin
global x = 12+32
Traceback (most recent call last):
File "/home/orayan/Development/Python/Calculator/calculator.py", line 11, in etrp
exec(eqn1)
File "<string>", line 1
global x = 12+32
^
SyntaxError: invalid syntax
[1] 19185 abort (core dumped) ./main.py
Я очень новичок в Python, поэтому не могу понять, что происходит