사용자가 파이썬에서 사용할 수있는 방정식을 입력하게하고 싶습니다. 어떻게 할 수있는 raw_input 수식을 수정할 수 있습니까?사용자가 파이썬에서 사용할 수있는 방정식을 입력하게하려면 어떻게해야합니까?
현재, 내 코드에서이 있습니다
consts = list()
nconst = int(input("How many constraints would you like to add? "))
for i in range(nconst):
const = input("Constraint " + str(i+1) + ": ")
consts.append(const)
내 제약 내가 입력에 사용자가 원하는 식이다. 방정식의 형식을 < =으로하고 싶습니다.
파서를 사용해 보았으므로 파서를 사용하는 테스트 사례를 시도했으며이 코드가 종료되었습니다. 내가 코드를 실행했을 때 답이 문제가 내가 사용하는 파서 코드도 거기에 100으로 가정 할 때
import parser
formula = "x^2"
code = parser.expr(formula).compile()
from math import sin
x = 10
print(eval(code))
그러나, 파이썬은 나에게 8의 대답을했다?
도움이 될 것입니다!
파이썬에서'^'는'bitwise xor'을 의미하기 때문에 방정식이 8이됩니다. '**' – Lafexlos
을 사용하십시오.'parser'는 파이썬의 내부 파서입니다. 방정식을 파싱하거나 누군가 이미 작성한 파서를 사용하려면 * 파서를 작성해야합니다. –
체크 아웃이 질문은 자신의 파서를 만드는 데 도움이 될 것입니다. http://stackoverflow.com/questions/2371436/evaluating-a-mathematical-expression-in-a-string –