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类参数self使用示例
Feb 17 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
Jan 09 Python
TensorFlow saver指定变量的存取
Mar 10 Python
pandas 数据实现行间计算的方法
Jun 08 Python
78行Python代码实现现微信撤回消息功能
Jul 26 Python
tensorflow更改变量的值实例
Jul 30 Python
selenium+python自动化测试之环境搭建
Jan 23 Python
Python MySQL 日期时间格式化作为参数的操作
Mar 02 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
OpenCV Python实现图像指定区域裁剪
Mar 12 Python
Python如何将字符串转换为日期
Jul 31 Python
Matlab使用Plot函数实现数据动态显示方法总结
Feb 25 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学习教程之第1天
2008/06/15 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
2012/12/26 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
jquery实现自定义图片裁剪功能【推荐】
2017/03/08 Javascript
TypeScript入门-接口
2017/03/30 Javascript
JavaScript数据结构中串的表示与应用实例
2017/04/12 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
jQuery实现可编辑的表格
2019/12/11 jQuery
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
python文件比较示例分享
2014/01/10 Python
python访问类中docstring注释的实现方法
2015/05/04 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
pandas 选择某几列的方法
2018/07/03 Python
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
简单说说tomcat的配置
2013/05/28 面试题
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
办公室文员工作自我评价
2013/12/01 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
医院党员公开承诺书
2014/08/30 职场文书
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电