当我执行此代码时,它给出错误“ + =:'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))
答案 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