저는 변수 (예 : x + 2에서 10 개 x = 10)를 풀기위한 간단한 스크립트를 만들기 위해 노력하고 있습니다. 나는 변수를 풀기 위해 허수를 사용하는 함수를 발견하기까지는 많은 어려움을 겪고있었습니다. 나는 그걸 가지고 놀았고 어떤 것을 배웠지 만 지금은 두 가지 변수를 풀기를 원합니다. 내 프로그램의 주요 아이디어는 다음과 같습니다.간단한 대수학 솔버 (파이썬)에 대한 조언
def solve(eq,var1='x', var2='y'):
if '+' in eq:
try:
eq1 = eq.replace("=","-(")+")"
eq2 = eq1.replace('+','-')
print eq1
print eq2
c = eval(eq2,{var1:1j},{var2:1j})
print c
c = -c.real/c.imag
eq3 = eq1.replace('x',str(int(c)))
eq4 = eq3.replace('y',str(int(c)))
eq5 = eq4.replace('-(', '=')
eq6 = eq5.replace(')','')
if eq6 == True:
print 'test1'
print eq6
else:
print 'oops1'
print eq6
다른 모든 방정식을 보상하는 프로그램이 있습니다. 방정식이 풀렸다는 것을 확인하는 데 문제가 있습니다 (eq6 == True). 어떤 충고? 아니면 내가 실수 한거야?
코드가 잘못 구성되었습니다. 하나의'try' 블록에 여러 줄을 입력하지 마십시오. 또한 의미있는 변수 이름을 사용하고 주석을 추가하는 것이 좋습니다 (또는 최소한 인쇄 출력 표시). – Will
저는 주요 아이디어를 얻는 데 집중하고 있습니다 만, 고맙습니다. – asqapro