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引入,就可轻轻松松实现用几行代码解方程,运行结果如下所示:

以上答案并没有给出具体的答案,原因在于这是二元方程,但只有一个方程组,而且本次并没有限定其他条件,当然了如果仅是如上答案口算也能算的,但此段程序的在于不需要人算,如果这样的方程较多的话,想必是算不过来的,直接用函数就可以直接输出答案。另外这只是二元一次,如果是三元一次、四元一次呢,以此类推;再者如果是两个方程组、三个方程组、四个方程组。。。。。。

通过以上抛砖引玉,可以解决同类的以及衍生的许多的问题,当然解此类方程还有很多方法等我们去发掘。