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读取Android permission文件
Nov 01 Python
Python3中编码与解码之Unicode与bytes的讲解
Feb 28 Python
pycharm创建一个python包方法图解
Apr 10 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
Aug 23 Python
django删除表重建的实现方法
Aug 28 Python
python中class的定义及使用教程
Sep 18 Python
Selenium启动Chrome时配置选项详解
Mar 18 Python
基于Python和C++实现删除链表的节点
Jul 06 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
Jul 13 Python
python 获取字典键值对的实现
Nov 12 Python
python实现控制台输出颜色
Mar 02 Python
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 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常用函数小技巧
2008/09/11 PHP
php图片缩放实现方法
2014/02/20 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
php版微信公众平台实现预约提交后发送email的方法
2016/09/26 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
php 可变函数使用小结
2018/06/12 PHP
PHP从尾到头打印链表实例讲解
2018/09/27 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
php7 错误处理机制修改实例分析
2020/05/25 PHP
HTML页面如何象ASP一样接受参数
2007/02/07 Javascript
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
js获取下拉列表框中的value和text的值示例代码
2014/01/11 Javascript
删除条目时弹出的确认对话框
2014/06/05 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&”)
2016/12/23 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
js实现双色球效果
2020/08/02 Javascript
python实现排序算法
2014/02/14 Python
Windows系统下安装Python的SSH模块教程
2015/02/05 Python
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
详解python3实现的web端json通信协议
2016/12/29 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
django 类视图的使用方法详解
2019/07/24 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
2020/02/26 Python
Html5新特性用canvas标签画多条直线附效果截图
2014/06/30 HTML / CSS
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
物流仓储计划书
2014/01/10 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
医药销售自荐书
2014/05/29 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
MySQL 分组查询的优化方法
2021/05/12 MySQL
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL
python文件与路径操作神器 pathlib
2022/04/01 Python