如何更正错误“ + =不支持的操作数类型:'int'和'str'”

时间:2019-11-26 18:57:32

标签: python python-3.x

当我执行此代码时,它给出错误“ + =:'int'和'str'的不受支持的操作数类型”,这是因为在第二个for循环中执行的语句,其中编译器也在发出警告未定义的名称。我已经在使用这些名称的同一位置分别定义了这些名称,这在Python中是不需要的。在else主体中执行第一个for循环后,编译器将在代码的最后一个中执行print语句(这已从编码网站上的调试功能中看到)。如何纠正所有这些?

L = ['apples', 'oranges', 'kiwis', 'pineapples']

def stdDevOfLengths(L):
    if L == []:
        return 'NAN'
    else:
        for i in range(len(L)):
            sumL = 0
            sumL += L[i]
        mew = sumL / len(L)
        for i in range(len(L)):
            t , sum2 == [] , 0
            t[i] == index(L[i])
            sum2 += (t[i] - mew)^2  
        stdDev = (sum2/len(L))^0.5
        return stdDev

print(stdDevOfLengths(L))    

1 个答案:

答案 0 :(得分:0)

希望这是您需要的:

L = ['apples', 'oranges', 'kiwis', 'pineapples']

def stdDevOfLengths(L):
    if L == []:
        return 'NAN'
    else:
        sumL = 0
        for i in range(len(L)):
            sumL += len(L[i])
        mew = sumL / len(L)
        for i in range(len(L)):
            t , sum2 = {} , 0
            t[i] = len(L[i])
            sum2 += (t[i] - mew)**2  
        stdDev = (sum2/len(L))**0.5
        return stdDev

print(stdDevOfLengths(L))

打印----> 1.5