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之模块的加载
Oct 24 Python
Linux下编译安装MySQL-Python教程
Feb 02 Python
最基础的Python的socket编程入门教程
Apr 23 Python
Python抓取百度查询结果的方法
Jul 08 Python
python 自动化将markdown文件转成html文件的方法
Sep 23 Python
Django Admin 实现外键过滤的方法
Sep 29 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
Oct 22 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
Jan 22 Python
Python修改列表值问题解决方案
Mar 06 Python
python实现批量命名照片
Jun 18 Python
浅谈Python 中的复数问题
May 19 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/04/17 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
2017/03/31 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
PHP实现递归的三种方法
2020/07/04 PHP
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
Bootstrap精简教程
2015/11/27 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
Vue 修改网站图标的方法
2020/12/31 Vue.js
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
python中下标和切片的使用方法解析
2019/08/27 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
Python如何获取文件路径/目录
2020/09/22 Python
FC-Moto瑞典:欧洲最大的摩托车服装和头盔商店之一
2018/11/27 全球购物
UNIX特点都有哪些
2016/04/05 面试题
美术专业学生个人自我评价
2013/09/19 职场文书
甜品店的创业计划书范文
2014/01/02 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
访谈节目策划方案
2014/05/15 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
用JS创建一个录屏功能
2021/11/11 Javascript
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL
详解MySQL的主键查询为什么这么快
2022/04/03 MySQL
zabbix配置nginx监控的实现
2022/05/25 Servers