TypeError:**或pow()不支持的操作数类型:' function'和' int'

时间:2013-09-12 03:56:10

标签: python

我不知道为什么我可以x * 2和y * 2 请帮助我需要这个我不知道为什么即时通讯 得到这个错误...... 。 。 。 。 .. 。 。 .. .. 。 。 。 。

def regresion(lista,n):
a=0
b=0
if isinstance(n,int):
    a =((x**2)(y**2)-n(promx)(promy)) / (((x**2)**2)-n(promx**2))

    b =(promy-(n)(promx**2))
else:
    "n no es entero"
return a,b

def x(lista):
a=[]
c=0
x=0
if lista!=[]:
    for i in lista:
        c = i[0]
        a = a + [c]
    for i in a:
        x = x + i

    return x
def y(lista):
b=[]
d=0
y=0
if lista!=[]:
    for i in lista:
            d = i[1]
            b = b + [d]

    for i in b:
            y = y + i

    return y
def promx(lista):
a=[]
c=0
x=0
promx=0
if lista!=[]:
    for i in lista:
        c = i[0]
        a = a + [c]

    for i in a:
        x = x + i
    promx= x / len(a)

    return promx
def promy(lista):
b=[]
d=0
y=0
promy=0
if lista!=[]:
    for i in lista:
            d = i[1]
            b = b + [d]

    for i in b:
            y = y + i
    promy= y / len(b)
return promy

1 个答案:

答案 0 :(得分:2)

您的代码意图非常糟糕,并且有太多的点,但我认为这是问题所在。

在这一行:

a =((x**2)(y**2)-n(promx)(promy)) / (((x**2)**2)-n(promx**2))

你打电话:

promx**2

使用取幂将promx提升为幂2

但是,promx是一个函数,因此通过调用promx**2,您可以将此函数定义提升为幂2.这是没有意义的。您需要做的是调用 promx,其值如下:

promx(X)**2

其中X是填充函数promx所需的参数的列表。