注册 登录
编程论坛 Python论坛

请教各路大神,为什么第二个k=d显示invalid syntax????

liufusi 发布于 2019-04-19 21:01, 1491 次点击
def qiu_kc(su):
    k_c=[]
    for j in range(len(su)):
        n=len(su[j])
        import math
        k=300
        a=b=e=d=0
        while(abs(d-k)<=0.00000001):
            k=d
            for i in range(n):
              a+=math.pow(su[j][i],k)*math.log(su[j][i])
              b+=math.pow(su[j][i],k)
              e+=math.log(su[j][i])
            d=1/math.pow((a/b-e/n)
        k=d
        f=0
        for i in range(n):
           f+=math.pow(su[j][i],k)
        c=math.pow(f/n,1/k)
        k_c.append([k,c])
        return k_c
1 回复
#2
hello_py2019-04-21 23:26
不懂楼主为什么把import放入循环中,为什么第二个k=d的上方中math.pow只有一个参数。
还看不到那个where 后面的条件,貌似where内的语句一次的执行不了
1