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实现的多线程端口扫描工具分享
Jan 21 Python
在Python中使用mechanize模块模拟浏览器功能
May 05 Python
Python中Django发送带图片和附件的邮件
Mar 31 Python
Python基于dom操作xml数据的方法示例
May 12 Python
在python中将字符串转为json对象并取值的方法
Dec 31 Python
Python 调用 zabbix api的方法示例
Jan 06 Python
Django实现基于类的分页功能
Oct 31 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
Nov 15 Python
python新手学习可变和不可变对象
Jun 11 Python
如何使用scrapy中的ItemLoader提取数据
Sep 30 Python
python 实时调取摄像头的示例代码
Nov 25 Python
python的html标准库
Apr 29 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
php旋转图片90度的方法
2013/11/07 PHP
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
PHP处理Ajax请求与Ajax跨域问题
2017/02/13 PHP
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
vue2.0 axios前后端数据处理实例代码
2017/06/30 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
详解django的serializer序列化model几种方法
2018/10/16 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
Python tkinter之ComboBox(下拉框)的使用简介
2021/02/05 Python
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
为什么Runtime.exec(“ls”)没有任何输出?
2014/10/03 面试题
微型企业创业投资计划书
2014/01/10 职场文书
晚宴邀请函范文
2014/01/15 职场文书
公司新年寄语
2014/04/04 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书