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 相关文章推荐
关于你不想知道的所有Python3 unicode特性
Nov 28 Python
Python中列表的一些基本操作知识汇总
May 20 Python
python类和继承用法实例
Jul 07 Python
21行Python代码实现拼写检查器
Jan 25 Python
python一键升级所有pip package的方法
Jan 16 Python
Python字符串格式化的方法(两种)
Sep 19 Python
python+matplotlib演示电偶极子实例代码
Jan 12 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
Apr 06 Python
Django工程的分层结构详解
Jul 18 Python
Django如何实现网站注册用户邮箱验证功能
Aug 14 Python
python+Django+pycharm+mysql 搭建首个web项目详解
Nov 29 Python
Python函数的定义方式与函数参数问题实例分析
Dec 26 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
使用Apache的rewrite技术
2006/06/22 PHP
php实现json编码的方法
2015/07/30 PHP
php二维码生成
2015/10/19 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
静态页面的值传递(三部曲)
2006/09/25 Javascript
用js+xml自动生成表格的东西
2006/12/21 Javascript
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
jQuery点击其他地方时菜单消失的实现方法
2016/04/22 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
在vue-cli中组件通信的方法
2017/12/16 Javascript
vue-router命名视图的使用讲解
2019/01/19 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
python中的内置函数max()和min()及mas()函数的高级用法
2018/03/29 Python
PySide和PyQt加载ui文件的两种方法
2019/02/27 Python
python实现吃苹果小游戏
2020/03/21 Python
浅谈keras中loss与val_loss的关系
2020/06/22 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
StubHub意大利:购买和出售全球演唱会和体育赛事门票
2017/11/21 全球购物
文秘专业应届生求职信范文
2013/11/14 职场文书
简历中个人自我评价分享
2014/03/15 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
2014组织生活会方案
2014/05/19 职场文书
关于青春的演讲稿800字
2014/08/22 职场文书
给上级领导的感谢信
2015/01/22 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
浅析Django接口版本控制
2021/06/26 Python
SQL中的三种去重方法小结
2021/11/01 SQL Server