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 相关文章推荐
详细介绍Ruby中的正则表达式
Apr 10 Python
在Python的Django框架中编写错误提示页面
Jul 22 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
May 28 Python
深入解析Python中的上下文管理器
Jun 28 Python
python代码实现ID3决策树算法
Dec 20 Python
Python pymongo模块常用操作分析
Sep 01 Python
python logging模块的使用总结
Jul 09 Python
在Keras中CNN联合LSTM进行分类实例
Jun 29 Python
Python连接mysql方法及常用参数
Sep 01 Python
python 检测nginx服务邮件报警的脚本
Dec 31 Python
Python如何实现Paramiko的二次封装
Jan 30 Python
解决Python import .pyd 可能遇到路径的问题
Mar 04 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将两个关联数组合并函数提高函数效率
2014/03/18 PHP
php实现根据词频生成tag云的方法
2015/04/17 PHP
php实现的mongodb操作类
2015/05/28 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
JQuery 国际象棋棋盘 实现代码
2009/06/26 Javascript
一个JQuery操作Table的代码分享
2012/03/30 Javascript
关于JS中的闭包浅谈
2013/08/23 Javascript
jquery.validate的使用说明介绍
2013/11/12 Javascript
javascript放大镜效果的简单实现
2013/12/09 Javascript
Jquery EasyUI中弹出确认对话框以及加载效果示例代码
2014/02/13 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
浅谈小程序 setData学问多
2019/02/20 Javascript
七行JSON代码把你的网站变成移动应用过程详解
2019/07/09 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
python刷投票的脚本实现代码
2014/11/08 Python
Python简单连接MongoDB数据库的方法
2016/03/15 Python
实例讲解Python爬取网页数据
2018/07/08 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
如何在python中实现线性回归
2020/08/10 Python
详解python with 上下文管理器
2020/09/02 Python
KELLER SPORTS荷兰:在线订购最好的运动产品
2020/10/13 全球购物
高中毕业自我鉴定范文
2013/10/02 职场文书
会计学专业学生的求职信范文
2014/01/27 职场文书
大学活动邀请函
2014/01/28 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android
redis复制有可能碰到的问题汇总
2022/04/03 Redis