国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 鄱阳县| 洱源县| 清涧县| 东乡县| 建德市| 延庆县| 石渠县| 永丰县| 永城市| 昆明市| 宿州市| 瓦房店市| 阳信县| 香格里拉县| 高安市| 安新县| 嘉黎县| 台东县| 当涂县| 海盐县| 大同市| 平果县| 固安县| 丰镇市| 化州市| 仁怀市| 迭部县| 隆德县| 定兴县| 上杭县| 通辽市| 三江| 赤水市| 虎林市| 志丹县| 凌海市| 思茅市| 谷城县| 谷城县| 滦南县| 米脂县|