这是我的猜测:
TempFunc1 = input('Eqution1: ')
TempFunc2 = input('Eqution2: ')
TempFunc3 = eval(TempFunc1/TempFunc2)
我已将x
定义为符号,并为x**2-4
输入Equation1
,为另一个输入x-2
。
我已经从*
导入了sympy
。
整个代码:
import os
from sympy import *
from random import randrange
x = Symbol('x')
Variable = input('Eqution: ')
TempFunc1 = Variable.translate(str.maketrans('abcdefghijklmnopqrstuvwyz','xxxxxxxxxxxxxxxxxxxxxxxxx'))
TempFunc2 = TempFunc1.replace('^', '**')
TempFunc3 = input('Eqution: ')
TempFunc4 = eval(TempFunc2/eval(TempFunc3)
Func = eval(TempFunc4)
Func_prime = Func.diff(x)
Func = lambdify(x, Func)
Func_prime = lambdify(x, Func_prime)
x = randrange(100)
print('attempts:')
while Func(x) != 0:
Derivative = Func_prime(x)
Function = Func(x)
Divide = Function/Derivative
x = x-Divide
print(x)
else:
Ans = round( x , 31 )
print("answer:")
print(Ans)
os.system('pause')