我们如何使用 python 找到这个等式的答案?
How can we find the answer to this equation using python?
你好,我对 Python 的数学方面有点陌生,我正在尝试求解方程式的方法:
a * (10**(n-1)) + x = y*x
其中 'y' 和 'n' 是已知的,我们必须找到 'x' 和 'a'。现在我尝试了一些对我来说 returns 方程而不是值的东西:
from sympy.solvers import solve
from sympy import symbols, Eq
def remove_first_digit(n, y):
a, x = symbols("a,x", integer=True)
equation = Eq((10 ** (n-1)), ((y-1)*x)/a)
return solve(equation, (x,a))
print(remove_first_digit(2, 7))
我期望值 'a' = 3 和 'x' = 5。
我在这里做错了什么?
答案是 x = 5a/3 或 a = 3x/5,任何满足此条件的数字组合都可以,而不仅仅是 3 和5、你的程序完美运行。如果你想要 a = 3 和 x = 5,你需要做进一步的操作来减少可能的答案。
你好,我对 Python 的数学方面有点陌生,我正在尝试求解方程式的方法:
a * (10**(n-1)) + x = y*x
其中 'y' 和 'n' 是已知的,我们必须找到 'x' 和 'a'。现在我尝试了一些对我来说 returns 方程而不是值的东西:
from sympy.solvers import solve
from sympy import symbols, Eq
def remove_first_digit(n, y):
a, x = symbols("a,x", integer=True)
equation = Eq((10 ** (n-1)), ((y-1)*x)/a)
return solve(equation, (x,a))
print(remove_first_digit(2, 7))
我期望值 'a' = 3 和 'x' = 5。 我在这里做错了什么?
答案是 x = 5a/3 或 a = 3x/5,任何满足此条件的数字组合都可以,而不仅仅是 3 和5、你的程序完美运行。如果你想要 a = 3 和 x = 5,你需要做进一步的操作来减少可能的答案。