Python实现3行代码解简单的一元一次方程,python3行
本文所述实例为Python用3行代码实现解一元一次方程,代码简洁高效,具体用法如下:
>>> solve("x - 2*x + 5*x - 46*(235-24) = x + 2")
3236.0
功能代码如下:
def solve(eq,var='x'):
eq1 = eq.replace("=","-(")+")"
c = eval(eq1,{var:1j})
return -c.real/c.imag
下面就来解读下代码吧。
首先是第一行,它将等式进行了变形,生成了一个结果为0的算式“x - 2*x + 5*x - 46*(235-24) -( x + 2)”。
第二行用eval来执行这个算式,并将x = 1j代入算式,结果是-9708+3j。
注意x = 1j,所以这个方程就化简为“-9708+3x = 0”了,只要将-(-9708) / 3就能得到x了。
而-9708是这个复数的实部,3是这个复数的虚部,于是结果变成了“-c.real/c.imag”。
因此很显然,这个函数是不能解复数方程的。
顺带一提,Python 2.x的/运算会使用整数除法,导致小数部分丢失,所以要获得正确结果就应该使用Python 3.x。
希望本文所述实例对大家学习Python能有所帮助。
python 解一元一次方程
def solve(eq,var='x'): eq1 = eq.replace("=","-(")+")" c = eval(eq1,{var:1j}) return -c.real/c.imag >>> solve('2*x=5', 'x')2.5
给我90道超级简单的一元一次方程应用题(含答案)
列方程并求出方程式的解
一个数的8倍,比6.4与4.5的积多2.8,求这个数。
一个数的5倍比3.5与6.3的积少3.02,这个数是多少?
甲数比乙数的十分之四多1,已知甲数是2,乙数是多少?
什么数与0.32相乘得25.6?
一个数的15倍比5.6少0.8,这个数是多少?
列方程式解应用题。、
1、甲、乙两个进水管往一个可装8吨水的池里注水,甲管每分钟注水400千克,要想在8分钟注满水池,乙管每分钟注水多少千克?
2、两地相距249千米,一列火车从甲地开往乙地,每小时行55.5千米,行了多少小时还离乙地有27千米?
3、买5个本子和3支铅笔一共用去10.4元,已知铅笔每支0.9元,每本子多少元?
4、服装厂要做984套衣服,已经做了120套,剩下的要在12天内完成平均每天做多少套?
5、电机厂计划生产1980台电动机,已经生产了4天,每天生产45台,由于改进了技术,以后每天比原来增产15台,实际完成任务需几天?
6、学校买来乒乓球和篮球一共135个,买来的乒乓球是篮球的8倍,两种球各多少个?
7、图书馆买来文艺科技书共235本,文艺书的本数比科技书的2倍多25本,两种书各买了多少本?
8、甲、乙、丙三人为灾区捐款共270元,甲捐的是乙捐的3倍,乙是丙的两倍,三人各捐多少元?
9、A、B两个码头相距379.4千米,甲船比乙船每小时快3.6千米,两船同时在这两个码头相向而行,出发后经过三小时两船 还相距48.2千米,求两船的速度各是多少?
附加题:
1、甲、乙两辆汽车分别以每小时100千米和120千米的速度从A城开往B城。甲车比乙车早1小时离开A城,但两车同时到达B城。求两城间的路程?(不用方程解答:追击问题)
http://www.dengb.com/Pythonjc/865643.htmlwww.dengb.comtruehttp://www.dengb.com/Pythonjc/865643.htmlTechArticlePython实现3行代码解简单的一元一次方程,python3行 本文所述实例为Python用3行代码实现解一元一次方程,代码简洁高效,具体用法如下: s...