为了得到结果,我尝试用一阶括号来求一个方程。
在这个方程中,它包含一定的数字和一个变量x。
fmts = (
'-{}x - (-{} - x) = {}',
'-{}x - (-{} + x) = {}',
'-{}x - ({} + x) = {}',
'-{}x + ({} + x) = {}',
'{}x + ({} + x) = {}',
'-{}x - {}(-x - {}) = {}',
'-{}x - {}(-x + {}) = {}',
'-{}x - {}(x + {}) = {}',
'-{}x + {}(x + {}) = {}',
'{}x + {}(x + {}) = {}',
'-{}x - (-x - {}) = {}',
'-{}x - (-x + {}) = {}',
'-{}x - (x + {}) = {}',
'-{}x + (x + {}) = {}',
'{}x + (x + {}) = {}',
'-{}x - {}(-x - {}) = {}',
'-{}x - {}(-x + {}) = {}',
'-{}x - {}(x + {}) = {}',
'-{}x + {}(x + {}) = {}',
'{}x + {}(x + {}) = {}',
)在前面的元组中,我手动创建了上述方程的所有可能组合。这样我就能正确地得到这些方程。
我用随机变量创建正则表达式,这些变量将接受一个随机数:
w,x,y,z = randint(1,40), randint(1,40), randint(1,40), randint(1,40)
expr = choice(fmts).format(w,x,y,z)但我不能评估因为我不知道该怎么做。我试过同情,但这对我没有用。我试过print(f" {expr} = {eval (expr)} "),但显然不起作用。有没有人能用任何方法来评估这类方程?非常喜欢。
发布于 2022-01-13 02:12:53
from sympy import symbols, Eq, solve
from random import randint, choice
fmts = {
'-{}x - (-{} - x) = {}' : '-{}*x - (-{} - x) - {}',
'-{}x - (-{} + x) = {}' : '-{}*x - (-{} + x) - {}',
'-{}x - ({} + x) = {}' : '-{}*x - ({} + x) - {}',
'-{}x + ({} + x) = {}' : '-{}*x + ({} + x) - {}',
'{}x + ({} + x) = {}' : '{}*x + ({} + x) - {}',
'-{}x - {}(-x - {}) = {}' : '-{}*x - {}*(-x - {}) - {}',
'-{}x - {}(-x + {}) = {}' : '-{}*x - {}*(-x + {}) - {}',
'-{}x - {}(x + {}) = {}' : '-{}*x - {}*(x + {}) - {}',
'-{}x + {}(x + {}) = {}' : '-{}*x + {}*(x + {}) - {}',
'{}x + {}(x + {}) = {}' : '{}*x + {}*(x + {}) - {}',
'-{}x - (-x - {}) = {}' : '-{}*x - (-x - {}) - {}',
'-{}x - (-x + {}) = {}' : '-{}*x - (-x + {}) - {}',
'-{}x - (x + {}) = {}' : '-{}*x - (x + {}) - {}',
'-{}x + (x + {}) = {}' : '-{}*x + (x + {}) - {}',
'{}x + (x + {}) = {}' : '{}*x + (x + {}) - {}',
'-{}x - {}(-x - {}) = {}' : '-{}*x - {}*(-x - {}) - {}',
'-{}x - {}(-x + {}) = {}' : '-{}*x - {}*(-x + {}) - {}',
'-{}x - {}(x + {}) = {}' : '-{}*x - {}*(x + {}) - {}',
'-{}x + {}(x + {}) = {}' : '-{}*x + {}*(x + {}) - {}',
'-{}x - (-{} - x) = -{}' : '-{}*x - (-{} - x) + {}',
'-{}x - (-{} + x) = -{}' : '-{}*x - (-{} + x) + {}',
'-{}x - ({} + x) = -{}' : '-{}*x - ({} + x) + {}',
'-{}x + ({} + x) = -{}' : '-{}*x + ({} + x) + {}',
'{}x + ({} + x) = -{}' : '{}*x + ({} + x) + {}',
'-{}x - {}(-x - {}) = -{}' : '-{}*x - {}*(-x - {}) + {}',
'-{}x - {}(-x + {}) = -{}' : '-{}*x - {}*(-x + {}) + {}',
'-{}x - {}(x + {}) = -{}' : '-{}*x - {}*(x + {}) + {}',
'-{}x + {}(x + {}) = -{}' : '-{}*x + {}*(x + {}) + {}',
'{}x + {}(x + {}) = -{}' : '{}*x + {}*(x + {}) + {}',
'-{}x - (-x - {}) = -{}' : '-{}*x - (-x - {}) + {}',
'-{}x - (-x + {}) = -{}' : '-{}*x - (-x + {}) + {}',
'-{}x - (x + {}) = -{}' : '-{}*x - (x + {}) + {}',
'-{}x + (x + {}) = -{}' : '-{}*x + (x + {}) + {}',
'{}x + (x + {}) = -{}' : '{}*x + (x + {}) + {}',
'-{}x - {}(-x - {}) = -{}' : '-{}*x - {}*(-x - {}) + {}',
'-{}x - {}(-x + {}) = -{}' : '-{}*x - {}*(-x + {}) + {}',
'-{}x - {}(x + {}) = -{}' : '-{}*x - {}*(x + {}) + {}',
'-{}x + {}(x + {}) = -{}' : '-{}*x + {}*(x + {}) + {}',
'{}x + {} = {}x + {}' : '{}*x + {} - {}*x - {}',
'{}x + {} = {}x - {}' : '{}*x + {} - {}*x + {}',
'{}x + {} = -{}x - {}' : '{}*x + {} + {}*x + {}',
'{}x - {} = -{}x - {}' : '{}*x - {} + {}*x + {}',
'{}x - {} = {}x + {}' : '{}*x - {} - {}*x - {}',
'-{}x - {} = {}x - {}' : '-{}*x - {} - {}*x + {}',
'-{}x + {} = {}x - {}' : '-{}*x + {} - {}*x + {}',
'-{}x + {} = {}x + {}' : '-{}*x + {} - {}*x - {}',
'-{}x - {} = {}x + {}' : '-{}*x - {} - {}*x - {}',
'-{}x - {} = -{}x + {}' : '-{}*x - {} + {}*x - {}',
'-{}({}x + {}) + {}(-{}x - {}) = {}' : '-{}*({}*x + {}) + {}(-{}*x - {}) - {}',
'-{}x - (-{} + x) = {}' : '-{}*x - (-{} + x) - {}',
'-{}x - ({} + x) = {}' : '-{}*x - ({} + x) - {}',
'-{}x + ({} + x) = {}' : '-{}*x + ({} + x) - {}',
'{}x + ({} + x) = {}' : '{}*x + ({} + x) - {}',
'-{}x - {}(-x - {}) = {}' : '-{}*x - {}*(-x - {}) - {}',
'-{}x - {}(-x + {}) = {}' : '-{}*x - {}*(-x + {}) - {}',
'-{}x - {}(x + {}) = {}' : '-{}*x - {}*(x + {}) - {}',
'-{}x + {}(x + {}) = {}' : '-{}*x + {}*(x + {}) - {}',
'{}x + {}(x + {}) = {}' : '{}*x + {}*(x + {}) - {}',
'-{}x - (-x - {}) = {}' : '-{}*x - (-x - {}) - {}',
'-{}x - (-x + {}) = {}' : '-{}*x - (-x + {}) - {}',
'-{}x - (x + {}) = {}' : '-{}*x - (x + {}) - {}',
'-{}x + (x + {}) = {}' : '-{}*x + (x + {}) - {}',
'{}x + (x + {}) = {}' : '{}*x + (x + {}) - {}',
'-{}x - {}(-x - {}) = {}' : '-{}*x - {}*(-x - {}) - {}',
'-{}x - {}(-x + {}) = {}' : '-{}*x - {}*(-x + {}) - {}',
'-{}x - {}(x + {}) = {}' : '-{}*x - {}*(x + {}) - {}',
'-{}x + {}(x + {}) = {}' : '-{}*x + {}*(x + {}) - {}'
}
a,b,c,d,e,x,y,z = randint(1,40), randint(1,40), randint(1,40), randint(1,40), randint(1,40), randint(1,40), randint(1,40), randint(1,40)
view_expr, expr = choice(list(fmts.items()))
expr = expr.format(a,b,c,d,e,x,y,z)
view_expr = view_expr.format(a,b,c,d,e,x,y,z)
x = symbols('x')
eq1 = Eq(eval(expr,{"x":x}), 0)
sol = solve(expr)
try:
print(view_expr)
raw_expr = expr
eq1 = Eq(eval(expr,{"x":x}), 0)
sol = solve(expr)
print(f"{sol[0]}")
except:
print('No tiene solución\n\n')https://stackoverflow.com/questions/70659838
复制相似问题