介绍三种方法如下
1、
#!/usr/bin/env python# coding=utf-8""" solving a quadratic equation"""from __future__ import divisionimport mathdef quadratic_equation(a,b,c): delta=b*b-4*a*c if delta<0: return False elif delta ==0: return -(b/(2*a)) else: sqrt_delta=math.sqrt(delta) x1=(-b+ sqrt_delta)/(2*a) x2=(-b- sqrt_delta)/(2*a) return x1,x2if __name__=="__main__": PRint "a quadratic equation: x^2 +x+1=0" coefficients=(1,1,1) roots=quadratic_equation(*coefficients) if roots: print "the result is:", roots else: print "this equation has no solution."2、#!/usr/bin/env python# coding=utf-8from __future__ import division # 除法纠正import mathdef oneandtwo(): """判断方程的根;若方程有根,则将其解出来""" delta = b ** 2 - 4 * a * c # 根的判别式 print "判别式大小为:", delta print if delta < 0: print "根的判别式小于0,方程无解!" else: x1 = (-b + math.sqrt(delta)) / (2 * a) # 第一个根 x2 = (-b - math.sqrt(delta)) / (2 * a) # 第二个根 print "方程的两根是:/n/nx1=%f/nx2=%f" % (x1, x2) printif __name__ == "__main__": print "输入一元二次方程的系数(a,b,c):" print stra = raw_input("请输入系数 a:") strb = raw_input("请输入系数 b:") strc = raw_input("请输入系数 c:") print print "方程是:(%s)*x^2+(%s)*x+(%s)=0" % (stra, strb, strc) print # 将输入的字符串转换为浮点数 a = float(stra) b = float(strb) c = float(strc) oneandtwo() # 调用并打印出方程的两个根 3、#!/usr/bin/env python# coding=utf-8import mathdef quadratic_equation(a, b, c): t = math.sqrt(pow(b, 2) - 4 * a * c) if(pow(b, 2) - 4 * a * c) > 0: return (-b + t) / (2 * a), (-b - t) / (2 * a) elif (pow(b, 2) - 4 * a * c) == 0: return (-b + t) / (2 * a) else: return Noneprint quadratic_equation(2, 3, 0)print quadratic_equation(1, -6, 5)
新闻热点
疑难解答