У меня есть чат-бот для мессенджера, и я пытаюсь сделать для него математический решатель, но он не может отправить решение уравнения в мессенджер, вместо этого он отправляет уравнение.
Если кто-то из мессенджера отправляет «решить: 2+2», эта программа должна отправить ему «4», а не «2+2».
Основная проблема:
if (parser.getPayload().lower()[:6]=="solve:"):
parser.sendGroupMessage(parser.getTargetID(), str(parser.getPayload()[7:]))
вывод:
он снова отправляет тот же ввод, а не ответ уравнения
Тест. Я протестировал что-то, и оно работает правильно. Если я добавлю этот код, программа отправит решение уравнения:
if (parser.getPayload().lower()=="test"):
parser.sendGroupMessage(parser.getTargetID(), str(2 + 2 -3 + 8 * 7))
Вывод: работает отлично
eval
в python.eval("2+2")
даст вам4
. - person Preston Hager   schedule 07.10.2016eval
крайне обескуражен.ast.literal_eval
лучше - person Andrew Li   schedule 07.10.2016ast.literal_eval("2+2")
. Не забудьте импортировать ast,import ast
. - person Preston Hager   schedule 07.10.2016