python皮卡丘编程代码_再接再厉,用python编程13行代码解方程组(纯字符)
因為是示例為主,我們將方程組限制在二元一次方程組:x,y兩個變量,兩個方程。類似這樣:
每個方程有兩個變量,x和y,形式為:ax+by+c=d
由于這次有了兩個方程,我們提取參數(shù)的代碼就適合提煉為一個獨立的函數(shù)。獲取兩個方程的參數(shù)都可以調(diào)用一個函數(shù)。這是代碼組織的一個基本思想。
這里又涉及到了函數(shù)多個返回值的功能,這是相當實用的功能。
看過前面兩篇文章《用python編程7行代碼解數(shù)學方程(ax+b=c的形式) 》和《python編程解方程第二彈:10行代碼解二次方程(純字符) 》,對于通過切割字符串來提取參數(shù)的技巧應該已經(jīng)非常了解了,本篇對此不展開,見代碼即可。
這里提一下的是,解方程組的通用方法。尋求通用方法,是編程的一個基本思路。
上面圖中任何一個具體的方程組,相信讀者朋友都能求解,那么對于一個一般的方程組怎樣求解呢?想弄懂這個問題的讀者,學歷至少必須達到或超過初二下學期。
方程1:a1*x + b1*y + c1 = d1
方程2:a2*x + b2*y + c2 = d2
通用解法:
第一步:方程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(tǒng)的解決=((d1-c1)*a2-(d2-c2)*a1)/(-a1*b2+ a2*b1)
上代碼:
注意到獲取參數(shù)的函數(shù)getParm,仍然做了一定程度的簡化,有興趣的朋友可以把它完善以適應各種復雜的情況。
而解方程組的函數(shù)solv3,結(jié)構(gòu)相當簡單,就是利用前面推導的公式。
測試一下:
得到結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的python皮卡丘编程代码_再接再厉,用python编程13行代码解方程组(纯字符)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员python工作_程序员如何在工作
- 下一篇: 淡蓝色电脑桌面壁纸(淡蓝色壁纸图片)