Skip to main content
 首页 » 编程设计

python之类型错误 : 'float' object is not callable error with bhaskara program

2025年05月04日8rubylouvre

#entrada de dados 
a = int(input("valor de a ")) 
b = int(input("valor de b ")) 
c = int(input("valor de c ")) 
# 
import math 
# 
d =b*b - 4 * a * c 
# 
if d < 0: 
        print('nao tem raizes reais') 
elif d ==0: 
        raiz = (-1*b + math.sqrt(d))/(2 * a) 
        print('o valor e '), print(raiz) 
elif d > 0: 
        raiz = (-1*b + math.sqrt(d))(2 * a) 
        raiz1 = (-1*b - math.sqrt(d))(2 * a) 
        print('as raizes sao'), print(raiz), print(raiz1) 
#fim 

我试着输入这段代码,但我得到了这个错误:

Traceback (most recent call last): File "C:/Python34/test podre.py", line 16, in raiz = (-1*b + math.sqrt(d))(2 * a) TypeError: 'float' object is not callable

怎么了?

请您参考如下方法:

python中不能用纯括号将两个对象相乘,需要用*分隔。

raiz = (-1*b + math.sqrt(d))(2 * a) 

成为

raiz = (-1*b + math.sqrt(d))*(2 * a) 

这是您编辑的代码:

a = int(input("valor de a ")) 
b = int(input("valor de b ")) 
c = int(input("valor de c ")) 
# 
import math 
# 
d =b*b - 4 * a * c 
# 
if d < 0: 
        print('nao tem raizes reais') 
elif d ==0: 
        raiz = (-1*b + math.sqrt(d))/(2 * a) 
        print('o valor e '), print(raiz) 
elif d > 0: 
        raiz = (-1*b + math.sqrt(d))*(2 * a) 
        raiz1 = (-1*b - math.sqrt(d))*(2 * a) 
        print('as raizes sao'), print(raiz), print(raiz1)