计算一元二次方程解的本地代码
Topic source应该吧最后一行的%d换成%s才对,不然输出的是int整数,无法得到精确结果。 不过好像使用其他数值例如(25,24,14)会得到一个错误? 排查了下,改成下面的就好了:
import math
def quadratic(a, b, c):
k = b*b - 4*a*c
if k < 0:
return 'True'
if k == 0:
x = (-b) / (2*a)
return x
if k > 0:
x1 = ((-b +math.sqrt(k)) / (2*a))
x2 = ((-b -math.sqrt(k)) / (2*a))
return x1,x2
a = float(input('input a:'))
b = float(input('input b:'))
c = float(input('input c:'))
x = quadratic(a,b,c)
if isinstance(x,(int,float)):
print ('x=',x)
elif x == 'True':
print ('算不出来')
else:
print('x1=%s,x2=%s' % x)
如果再进一步修改可以得到精确到几位小数的输出。各位可以一试。
- 1
Dreamer_DK