Python求解一元二次方程根

本文使用Python实现一元二次方程求根公式,主要演示运算符和几个内置函数的用法,封面图片与本文内容无关。

def root(a, b, c, highmiddle=True): #首先保证接收的参数a,b,c都是数字,并且a不等于0 #由于计算机表示实数时存在精度的问题,所以不能使用==来判断实数是否为0 #函数的最后一个参数highmiddle为True表示高中,False表示初中 if not isinstance(a, (int, float, complex)) or abs(a)<1e-6: print('error') return if not isinstance(b, (int, float, complex)): print('error') return if not isinstance(c, (int, float, complex)): print('error') return

#delta<0时无解 d = b**2 - 4*a*c #根据一元二次方程求根公式进行计算 #当d<0时,在实数域内无解,d**0.5会得到复数 x1 = (-b + d**0.5) / (2*a) x2 = (-b - d**0.5) / (2*a)

if isinstance(x1, complex): if highmiddle: #高中阶段需要考虑复数根,实部和虚部都保留3位小数 x1 = round(x1.real, 3) + round(x1.imag, 3)*1j x2 = round(x2.real, 3) + round(x2.imag, 3)*1j return (x1, x2) else: #初中阶段只考虑实数根 print('no answer') return #如果是实数根,保留3位小数 return (round(x1,3), round(x2,3))

r = root(1, 2, 4) if isinstance(r, tuple): print('x1={0[0]}\nx2={0[1]}'.format(r))

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2017-01-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云霄雨霁

字符串查找----查找算法的选择

30400
来自专栏小二的折腾日记

牛客网-剑指offer-10

主要是想为什么会有最大的和,一个情况是,新加上的数比原来的数都要大,就要开始考虑需不需要原来的数了。所以我们需要两个数,一个保存最大的和,用来返回,一个 保存当...

12930
来自专栏程序生活

美团NLP实习面试总结一 基本知识4 数据结构二 NLP相关技术1 LSTM2 介绍实体链接与实体映射3 解释随机游走的原理及作用4 命名实体识别

机会总是留给有准备的人 一 基本知识 1 python 解释下装饰器和生成器的作用以及用法 类的知识点,类与对象,三个输出 2 java HashMap的实现原...

45930
来自专栏决胜机器学习

PHP数据结构(十一) ——图的连通性问题与最小生成树算法(2)

PHP数据结构(十一)——图的连通性问题与最小生成树算法(2) (原创内容,转载请注明来源,谢谢) 再次遇到微信公众号限制字数3000字的问题。因此将...

458100
来自专栏向治洪

高级聚类

FuzzyKmeans 在对数据进行聚类时,最常用的方法应该是kmeans,但是kmean只能保证每一条待聚类的数据划分到一个类别,针对一条数据可以被划分到多个...

20980
来自专栏Golang语言社区

转--Go语言用堆排序的方法进行一千万个int随机数排序

上篇文章用的是quicksort方法排序,但是如果用快速排序法对重复率很高的slice排序的时候,时间复杂度会激增,速度相当慢 所以尝试了一下堆排序,实验结果,...

38970
来自专栏hanlp学习笔记

hanlp中的N最短路径分词

N-最短路径 是中科院分词工具NLPIR进行分词用到的一个重要算法,张华平、刘群老师在论文《基于N-最短路径方法的中文词语粗分模型》中做了比较详细的介绍。该算法...

17300
来自专栏逆向技术

逆向课程第五讲逆向中的优化方式,除法原理,以及除法优化下

        逆向课程第五讲逆向中的优化方式,除法原理,以及除法优化下 一丶除法的优化 1.有符号被除数 / 无符号除数的情况下 高级代码为: ? 汇编中优化...

22650
来自专栏C#

HuffmanTree的浅析和在C#中的算法实现

      无论是在我们的开发项目中,还是在我们的日常生活中,都会较多的涉及到文件压缩。谈到文件压缩,可能会有人想问文件压缩到底是怎么实现的,实现的原理是什么...

22870
来自专栏和蔼的张星的图像处理专栏

28. 搜索二维矩阵二分法

写出一个高效的算法来搜索 m × n矩阵中的值。 这个矩阵具有以下特性: 每行中的整数从左到右是排序的。 每行的第一个数大于上一行的最后一个整数。 样例...

16520

扫码关注云+社区

领取腾讯云代金券