Интерпретация функции Python из данных JSON - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь определить эквивалентность двух простых функций, передаваемых в python через json, следующим образом:

PHP:

$data = array("2*x", "x*2");
$result = shell_exec('python /path/check.py ' . escapeshellarg(json_encode($data)));

Python:

import sys, json
from sympy import *

try:
    data = json.loads(sys.argv[1])
except:
    sys.exit(1)

x = Symbol('x')

response = data[0]
answer = data[1]

result = response==answer

print json.dumps(result)

Я предполагаю, что результат возвращает false, потому что ответ и ответ интерпретируются как строки.Как я могу сравнить эти две функции, как будто я устанавливаю переменные в Python следующим образом:

response = 2*x
answer = x*2

1 Ответ

1 голос
/ 01 мая 2019

Вам нужно преобразовать строки в выражения SymPy:

sympify(answer) == sympify(response)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...