我想做的是写一个二次方程求解器,但是当解决方案应该是-1
,因为quadratic(2, 4, 2)
它返回1
我究竟做错了什么?
#!/usr/bin/python 导入数学 def 二次(a,b,c): #a = raw_input("你的 `a` 值是多少?\t") #b = raw_input("你的 `b` 值是多少?\t") #c = raw_input("你的 `c` 值是多少?\t") a, b, c = 浮点数(a), 浮点数(b), 浮点数(c) 圆盘 = (b*b)-(4*a*c) print "判别式是:\n" + str(disc) 如果光盘 >= 0: 根 = math.sqrt(光盘) top1 = b + 根 top2 = b - 根 sol1 = top1/(2*a) sol2 = top2/(2*a) 如果 sol1 != sol2: 打印 "解决方案 1:\n" + str(sol1) + "\n解决方案 2:\n" + str(sol2) 如果 sol1 == sol2: print "一个解决方案:\n" + str(sol1) 别的: 打印“没有解决方案!”
编辑:它返回以下...
>>> 导入数学模块 >>> mathmodules.quadratic(2, 4, 2) 判别式是: 0.0 一种解决方案: 1.0