国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現3行代碼解簡單的一元一次方程

2020-02-23 05:39:58
字體:
來源:轉載
供稿:網友

本文所述實例為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來執(zhí)行這個算式,并將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能有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 裕民县| 古田县| 渝北区| 泾阳县| 云龙县| 巴彦淖尔市| 自贡市| 乐陵市| 台东市| 巴彦县| 龙州县| 秦皇岛市| 腾冲县| 平阳县| 高邮市| 望奎县| 霍城县| 阳春市| 霍山县| 屏南县| 水富县| 武川县| 同德县| 分宜县| 沂水县| 梓潼县| 葵青区| 东辽县| 郑州市| 平顶山市| 兴仁县| 独山县| 京山县| 井冈山市| 蒙阴县| 石嘴山市| 锡林浩特市| 娄烦县| 扎赉特旗| 正宁县| 芒康县|