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基于scrapy采集数据时使用代理服务器的方法
Apr 16 Python
python实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
May 24 Python
matplotlib调整子图间距,调整整体空白的方法
Aug 03 Python
Python调用C++,通过Pybind11制作Python接口
Oct 16 Python
Python使用pyserial进行串口通信的实例
Jul 02 Python
python调试神器PySnooper的使用
Jul 03 Python
python实现批量处理将图片粘贴到另一张图片上并保存
Dec 12 Python
Python 写了个新型冠状病毒疫情传播模拟程序
Feb 14 Python
Softmax函数原理及Python实现过程解析
May 22 Python
Django如何实现密码错误报错提醒
Sep 04 Python
如何理解python接口自动化之logging日志模块
Jun 15 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/20 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
JavaScript 中的replace方法说明
2007/04/13 Javascript
ASP 过滤数组重复数据函数(加强版)
2010/05/31 Javascript
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
Prototype的Class.create函数解析
2011/09/22 Javascript
jQuery 在光标定位的地方插入文字的插件
2012/05/10 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
Three.js实现简单3D房间布局
2018/12/30 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
VUE前后端学习tab写法实例
2019/08/06 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
[18:20]DOTA2 HEROS教学视频教你分分钟做大人-昆卡
2014/06/11 DOTA
Python编程中NotImplementedError的使用方法
2018/04/21 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
详解Python3注释知识点
2019/02/19 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
Python学习之os模块及用法
2020/06/03 Python
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
施工人员岗位职责
2013/12/12 职场文书
煤矿班组长岗位职责
2013/12/29 职场文书
小区门卫岗位职责
2013/12/31 职场文书
会计学自我鉴定
2014/02/06 职场文书
商务英语专业毕业生求职信
2014/07/06 职场文书
会议新闻稿
2015/07/17 职场文书
七年级数学教学反思
2016/02/17 职场文书
Java数组详细介绍及相关工具类
2022/04/14 Java/Android