Discuss / Python / 错在哪里了???

错在哪里了???

Topic source

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))

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') 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))

又是错在哪里了????急死人了!

土城剑客

#3 Created at ... [Delete] [Delete and Lock User]

错的地方太多了:

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

Reply