错在哪里了???
Topic sourceimport math a1 = input('a1 = ') b1 = input('b1 = ') c1 = input('c1 = ') a = a1 b = b1 c = c1 if not isinstance(a, (int, float)): raise TypeError('bad operand') if not isinstance(b, (int, float)): raise TypeError('bad operand') if not isinstance(c, (int, float)): raise TypeError('bad operand') x1, x2 = quadratic(a, b, c) def quadratic(a, b, c): if (b2-(4ac)) >= 0: r1 = (-b+math.sqrt(b2-4ac))/(2a) r2 = (-b-math.sqrt(b**2-4ac))/(2a) return r1, r2 else: return ('none') print('结果为: x1 = %s, x2 = %s' % (x1,x2))
又是错在哪里了????急死人了!
错的地方太多了:
1、
a1 = input('a1 = ')
b1 = input('b1 = ')
c1 = input('c1 = ')
a = a1
b = b1
c = c1
这样赋值毫无意义、输入是str类型的,后面判断会错误
2、
x1, x2 = quadratic(a, b, c)
def quadratic(a, b, c):
函数还没定义就调用,肯定出错
3、函数中好多错误
if (b2
-(4ac
)) >= 0:
r1 = (-b+math.sqrt(b2
-4ac
))/(2a
)
r2 = (-b-math.sqrt(b**2-4ac
))/(2a
)
return r1, r2
中间应该加*
号表示乘法
4、其实b2-4ac最好做个变量算一次暂存就好了,不必每次都算
稍微给你改了一下,能用了:
import math
a1 = input('a1 = ')
b1 = input('b1 = ')
c1 = input('c1 = ')
a = int(a1)
b = int(b1)
c = int(c1)
if not isinstance(a, (int, float)):
raise TypeError('bad operand')
if not isinstance(b, (int, float)):
raise TypeError('bad operand')
if not isinstance(c, (int, float)):
raise TypeError('bad operand')
def quadratic(a, b, c):
if (b**2-(4*a*c)) >= 0:
r1 = (-b+math.sqrt(b**2-4*a*c))/(2*a)
r2 = (-b-math.sqrt(b**2-4*a*c))/(2*a)
return r1, r2
else:
return ('none')
x1, x2 = quadratic(a, b, c)
print('结果为: x1 = %s, x2 = %s' % (x1,x2))
- 1
请叫我啊龙_
import math a1 = input('a1 = ') b1 = input('b1 = ') c1 = input('c1 = ') a = a1 b = b1 c = c1 if not isinstance(a, (int, float)): raise TypeError('bad operand') if not isinstance(b, (int, float)): raise TypeError('bad operand') if not isinstance(c, (int, float)): raise TypeError('bad operand') def quadratic(a, b, c): x1 = ((0-b) + math.sqrt(bb - 4ac))/(2a) x2 = ((0-b) - math.sqrt(bb-4ac))/(2a) return x1, x2 print('结果为: x1 = %s, x2 = %s' % (x1,x2))