python里两个等号代表什么_【一点资讯】再接再厉,用python编程13行代码解方程组(纯字符)...

因为是示例为主,我们将方程组限制在二元一次方程组:x,y两个变量,两个方程。类似这样:

每个方程有两个变量,x和y,形式为:ax+by+c=d

由于这次有了两个方程,我们提取参数的代码就适合提炼为一个独立的函数。获取两个方程的参数都可以调用一个函数。这是代码组织的一个基本思想。

这里又涉及到了函数多个返回值的功能,这是相当实用的功能。

看过前面两篇文章《用python编程7行代码解数学方程(ax+b=c的形式) 》和《python编程解方程第二弹:10行代码解二次方程(纯字符) 》,对于通过切割字符串来提取参数的技巧应该已经非常了解了,本篇对此不展开,见代码即可。

这里提一下的是,解方程组的通用方法。寻求通用方法,是编程的一个基本思路。

上面图中任何一个具体的方程组,相信读者朋友都能求解,那么对于一个一般的方程组怎样求解呢?想弄懂这个问题的读者,学历至少必须达到或超过初二下学期。

通用解法:

第一步:方程1等号两边同乘b2,方程2等号两边同乘b1

第二步:方程1减去方程2

这就消去了变量y

得到 (a1*b2-a2*b1)x+(c1*b2-c2*b1)=d1*b2-d2*b1

简单得到x=((d1-c1)*b2-(d2-c2)*b2)/(a1*b2-a2*b1)的公式

用同样的方法消去变量x,得到y的解决=((d1-c1)*a2-(d2-c2)*a1)/(-a1*b2+ a2*b1)

上代码:

注意到获取参数的函数getParm,仍然做了一定程度的简化,有兴趣的朋友可以把它完善以适应各种复杂的情况。

而解方程组的函数solv3,结构相当简单,就是利用前面推导的公式。

测试一下:

得到结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值