python - 我们如何使用 python 找到这个方程的答案?
问题描述
你好,我对 Python 的数学方面有点陌生,我正在尝试解决一个方程的方法:
a * (10**(n-1)) + x = y*x
其中'y'和'n'是已知的,我们必须找到'x'和'a'。现在我尝试了一些返回方程而不是值的方法:
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 = 5 a/3 或 a = 3 x/5,任何满足这一点的数字组合都可以工作,而不仅仅是 3 和 5,你的程序可以完美运行。如果你想要 a = 3 和 x = 5,你需要做进一步的操作来减少可能的答案。
推荐阅读
- python - 如何使用正则表达式判断字符串的第一个字符和最后一个字符是否匹配?
- git - 为什么 git merge squash Xtheirs 不喜欢而是合并?
- php - 我想在使用邮件功能将电子邮件发送给 Laravel 中的用户后立即生成电子邮件报告(电子邮件发送副本)
- python - 使用 plotly dash 应用程序在 Elastic Beanstalk 上出现内部 500 错误
- python - 为什么 (2^31) >> 32 不是 0?
- syntax - IchigoJam BASIC 在打印字符串时不需要双引号结尾
- javascript - 如何合并来自多个 document.getElementById 的内容?
- android - 在android中获取联系人并作为vcf文件发送到服务器
- python - 如何使用 mutagen(Python 和 Django)获取标题、艺术家和专辑封面?
- javascript - 如何使用内容富文本导出自由文本注释