python实例一:解二元一次方程
python学了有20多天了,有一天看书看着看着忽然就想起来了如何用python解二元一次方程,如何解决呢?经过几天的复习和琢磨,目前找到了两种方法:循环语句解二元一次方程,sympy解二元一次方程。
一、先来说说用循环语句解答该方程,这个简单一点,下面就用for循环来尝试解决,比如二元一次方程:20x+10y=200,这个如何解呢,用for语句可以解答,代码如下所示:
for x in range(0,11): for y in range(0,21): tt=x*20+y*10 if tt==200: print([x,y],' ',end='') else: y+=1
就是以上这一段代码,运行结果如下所示:
在这个方程中,主要限定了x是正整数,可以得出以上11组解答。当然其实在实际方程中,x也并不一定非要为正整数,当然答案就不止这么多了。
二、接下来看看用sympy是如何解决的,依旧是上述方程20x+10y=200,先来自定义函数如下所示:
from sympy import * x=Symbol('x') y=Symbol('y') print(solve([20*x+10*y-200],[x,y]))
用sympy解决的要点就是先要安装sympy,然后用import引入,就可轻轻松松实现用几行代码解方程,运行结果如下所示:
以上答案并没有给出具体的答案,原因在于这是二元方程,但只有一个方程组,而且本次并没有限定其他条件,当然了如果仅是如上答案口算也能算的,但此段程序的在于不需要人算,如果这样的方程较多的话,想必是算不过来的,直接用函数就可以直接输出答案。另外这只是二元一次,如果是三元一次、四元一次呢,以此类推;再者如果是两个方程组、三个方程组、四个方程组。。。。。。
通过以上抛砖引玉,可以解决同类的以及衍生的许多的问题,当然解此类方程还有很多方法等我们去发掘。