本文实例讲述了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程序设计有所帮助。
您可能感兴趣的文章:python用fsolve、leastsq对非线性方程组求解python scipy求解非线性方程的方法(fsolve/root)python/sympy求解矩阵方程的方法Python实现求解一元二次方程的方法示例Python线性方程组求解运算示例Python基于高斯消元法计算线性方程组示例python计算方程式根的方法基于python解线性矩阵方程(numpy中的matrix类)