Python编程实现数学运算求一元二次方程的实根算法示例

yipeiwu_com6年前Python基础

本文实例讲述了Python编程实现数学运算求一元二次方程的实根算法。分享给大家供大家参考,具体如下:

问题:

请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:ax² + bx + c = 0的两个解。

实现代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import math
def quadratic(a,b,c):
  if a == 0:
    raise TypeError('a不能为0')
  if not isinstance(a,(int,float)) or not isinstance(b,(int,float)) or not isinstance(c,(int,float)):
    raise TypeError('Bad operand type')
  delta = math.pow(b,2) - 4*a*c
  if delta < 0:
    return '无实根'
  x1= (math.sqrt(delta)-b)/(2*a)
  x2=-(math.sqrt(delta)+b)/(2*a)
  return x1,x2
print(quadratic(2,3,1))
print(quadratic(1,3,-4))

运行效果图如下:

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

python3中bytes和string之间的互相转换

前言 Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意...

深入理解Python中的*重复运算符

在python中有个特殊的符号“*”,可以用做数值运算的乘法算子,也是用作对象的重复算子,但在作为重复算子使用时一定要注意 注意的是:*重复出来的各对象具有同一个id,也就是指向在内存...

Python 列表(List) 的三种遍历方法实例 详解

Python 列表(List) 的三种遍历方法实例 详解

Python 遍历 最近学习python这门语言,感觉到其对自己的工作效率有很大的提升,下面废话不多说,直接贴代码 #!/usr/bin/env python # -*- codin...

python进阶教程之文本文件的读取和写入

Python具有基本的文本文件读写功能。Python的标准库提供有更丰富的读写功能。 文本文件的读写主要通过open()所构建的文件对象来实现。 创建文件对象 我们打开一个文件,并使用一...

django框架自定义模板标签(template tag)操作示例

本文实例讲述了django框架自定义模板标签(template tag)操作。分享给大家供大家参考,具体如下: django 提供了丰富的模板标签(template tag)和过滤器(t...