定义函数-作业
Topic source备注1: 最开始把赋值全部写在前面(如下代码),导致运行报错:math domain err.后分析原因为:当delta等于0时,对x1赋值的语句会对delta开平方,造成不符合数学运算规则。 DEL = pow(b,2) - 4 a c x1 = (-b + math.sqrt(DEL)) / (2 a) x2 = (-b - math.sqrt(DEL)) / (2 a) x = -b / 2*a
if DEL > 0: return x1, x2 elif DEL < 0: return x else: return('No Solution')
备注2: 现在写的是公式文件,用途是在后续进行调用,所以不需要input。
备注3: 如何对a,b,c进行参数类型验证?待实验!
作业更正! 感谢-半片葉的指正!希望各路大神多多指教!
Quadratic Euation Solutions
import math
def quadratic(a,b,c):
DEL = pow(b,2) - 4 * a * c
if DEL > 0:
x1 = (-b + math.sqrt(DEL)) / (2 * a)
x2 = (-b - math.sqrt(DEL)) / (2 * a)
return x1, x2
elif DEL == 0:
x = -b / 2*a
return x
else:
return('No Solution')
测试:
print('quadratic(2, 3, 1) =', quadratic(2, 3, 1)) print('quadratic(1, 3, -4) =', quadratic(1, 3, -4)) print('quadratic(1, 2, 1) =', quadratic(1, 2, 1)) print('quadratic(2, 1, 1) =', quadratic(2,1,1))
if quadratic(2, 3, 1) != (-0.5, -1.0): print('测试失败') elif quadratic(1, 3, -4) != (1.0, -4.0): print('测试失败') elif quadratic(1, 2, 1) != (-1.0): print('测试失败') elif quadratic(2, 1, 1) != ('No Solution'): print('测试失败') else: print('测试成功')
- 1
Edward_Mu
Quadratic Euation Solutions
import math
def quadratic(a,b,c):
测试:
print('quadratic(2, 3, 1) =', quadratic(2, 3, 1)) print('quadratic(1, 3, -4) =', quadratic(1, 3, -4)) print('quadratic(1, 2, 1) =', quadratic(1, 2, 1)) print('quadratic(2, 1, 1) =', quadratic(2,1,1))
if quadratic(2, 3, 1) != (-0.5, -1.0): print('测试失败') elif quadratic(1, 3, -4) != (1.0, -4.0): print('测试失败') elif quadratic(1, 2, 1) != ('No Solution'): print('测试失败') elif quadratic(2, 1, 1) != (-1.0): print('测试失败') else: print('测试成功')