Python实现3行代码解简单的一元一次方程
2014-08-18 15:56
756 查看
本文所述实例为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实现3行代码解简单的一元一次方程
- 仅用50行Python代码实现一个简单的代理服务器
- Python实现socket信息发送和监听的简单代码示例
- Python多进程同步简单实现代码
- 200行python代码实现一个类似django的简单模板引擎
- python xmlrpc实现二进制文件传输的代码,简单的远程调用
- python3简单爬虫实现代码
- python 统计代码行数,注释行数的简单实现
- Python单链表简单实现代码
- 5行Python代码实现一个简单的在线英汉词典
- python3音乐播放器简单实现代码
- python设置检查点简单实现代码
- Python实现生成简单的Makefile文件代码示例
- Python实现爬取知乎神回复简单爬虫代码分享
- Python单链表简单实现代码
- python打造百行代码实现简单的下载器
- python通过Tkinter库实现的一个简单的文本编辑器代码
- C++、python和go语言实现的简单客户端服务器代码示例
- Python实现爬取知乎神回复简单爬虫代码分享
- python实现简单爬虫功能代码