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模块简介之有序字典(OrderedDict)
Dec 01 Python
Python生成8位随机字符串的方法分析
Dec 05 Python
Python GUI编程完整示例
Apr 04 Python
Python求离散序列导数的示例
Jul 10 Python
Python3内置模块random随机方法小结
Jul 13 Python
django项目中使用手机号登录的实例代码
Aug 15 Python
python word转pdf代码实例
Aug 16 Python
python scipy卷积运算的实现方法
Sep 16 Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 Python
python实现opencv+scoket网络实时图传
Mar 20 Python
python zip,lambda,map函数代码实例
Apr 04 Python
python logging通过json文件配置的步骤
Apr 27 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与MYSql连接与查询
2011/07/14 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
2015/04/08 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
PHP实现二维数组按某列进行排序的方法
2016/11/18 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
JavaScript基础语法让人疑惑的地方小结
2012/05/23 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
2014/12/18 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
js实现表格筛选功能
2017/01/18 Javascript
vue组件中点击按钮后修改输入框的状态实例代码
2017/04/14 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
2018/02/27 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
python实现xlsx文件分析详解
2018/01/02 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
Python常见工厂函数用法示例
2018/03/21 Python
使用python实现多维数据降维操作
2020/02/24 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
Python用Jira库来操作Jira
2020/12/28 Python
HTML5 transform三维立方体实现360无死角三维旋转效果
2014/08/22 HTML / CSS
HMV日本官网:全球知名的音乐、DVD和电脑游戏零售巨头
2016/08/13 全球购物
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
Java面试题:为什么要用Java
2012/05/11 面试题
2015大学生实训报告
2014/11/05 职场文书
学术会议邀请函
2015/01/30 职场文书
vue的项目如何打包上线
2022/04/13 Vue.js