Python实现3行代码解简单的一元一次方程


Posted in Python onAugust 18, 2014

本文所述实例为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 相关文章推荐
跟老齐学Python之重回函数
Oct 10 Python
在Python中处理字符串之isdecimal()方法的使用
May 20 Python
python enumerate函数的使用方法总结
Nov 15 Python
详谈pandas中agg函数和apply函数的区别
Apr 20 Python
python之线程通过信号pyqtSignal刷新ui的方法
Jan 11 Python
python实现ip地址查询经纬度定位详解
Aug 30 Python
Python用input输入列表的实例代码
Feb 07 Python
python实现猜单词游戏
May 22 Python
Python rabbitMQ如何实现生产消费者模式
Aug 24 Python
详解Python中import机制
Sep 11 Python
python+selenium爬取微博热搜存入Mysql的实现方法
Jan 27 Python
Python实现DBSCAN聚类算法并样例测试
Jun 22 Python
Python统计列表中的重复项出现的次数的方法
Aug 18 #Python
Python中无限元素列表的实现方法
Aug 18 #Python
Python中实现字符串类型与字典类型相互转换的方法
Aug 18 #Python
Python命名空间详解
Aug 18 #Python
Python判断变量是否已经定义的方法
Aug 18 #Python
Python实现全角半角转换的方法
Aug 18 #Python
Python实现冒泡,插入,选择排序简单实例
Aug 18 #Python
You might like
比较全的PHP 会话(session 时间设定)使用入门代码
2008/06/05 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
PHP简单选择排序算法实例
2015/01/26 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
轻量级的原生js日历插件calendar.js使用指南
2015/04/28 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
详解使用nvm安装node.js
2017/07/18 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
2017/12/20 jQuery
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
2019/06/18 jQuery
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
Python 通过pip安装Django详细介绍
2017/04/28 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
2019/04/01 Python
python安装pil库方法及代码
2019/06/25 Python
python实现处理mysql结果输出方式
2020/04/09 Python
tensorflow下的图片标准化函数per_image_standardization用法
2020/06/30 Python
ghd法国官方网站:英国最受欢迎的美发工具品牌
2019/04/18 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
优秀员工自荐书范文
2013/12/08 职场文书
人事主管岗位职责
2014/01/30 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
幼儿园保育员责任书
2014/07/22 职场文书
新教师培训心得体会
2014/09/02 职场文书
官僚主义现象查摆问题整改措施
2014/10/04 职场文书
2014年建筑工作总结
2014/11/26 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis