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 图片验证码代码
Dec 07 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
Apr 08 Python
Python中random模块用法实例分析
May 19 Python
使用Python的Flask框架来搭建第一个Web应用程序
Jun 04 Python
Python编程给numpy矩阵添加一列方法示例
Dec 04 Python
微信跳一跳python辅助脚本(总结)
Jan 11 Python
判断python对象是否可调用的三种方式及其区别详解
Jan 31 Python
关于python导入模块import与常见的模块详解
Aug 28 Python
python实现七段数码管和倒计时效果
Nov 23 Python
python支持多线程的爬虫实例
Dec 21 Python
在Keras中利用np.random.shuffle()打乱数据集实例
Jun 15 Python
python自动化调用百度api解决验证码
Apr 13 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学习之PHP运算符
2006/10/09 PHP
PHP实现的函数重载功能示例
2018/08/03 PHP
web 页面分页打印的实现
2009/06/22 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
jQuery实现用户信息表格的添加和删除功能
2017/09/12 jQuery
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
5分钟学会Vue动画效果(小结)
2018/07/21 Javascript
详解Angular6 热加载配置方案
2018/08/18 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
vue.js仿hover效果的实现方法示例
2019/01/28 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
简单了解前端渐进式框架VUE
2020/07/20 Javascript
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
[05:45]Ti4观战指南(下)
2014/07/07 DOTA
python实现中文分词FMM算法实例
2015/07/10 Python
Python中类型检查的详细介绍
2017/02/13 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
python文字转语音实现过程解析
2019/11/12 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
parser.add_argument中的action使用
2020/04/20 Python
护士岗前培训自我评鉴
2014/02/28 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
婚礼答谢礼品
2015/01/20 职场文书
文员岗位职责
2015/02/04 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python
Java后台生成图片的完整步骤
2021/08/04 Java/Android
Vue3中的Refs和Ref详情
2021/11/11 Vue.js