from random import uniform
def e(x):
n=len(x)
return(sum(x)/n)
def dmean(e,x,new):
n=len(x)
return((e*n+new)/(n+1))
l=[1,2,3,4,5,6,78]
e(l)
for i in range(0,5):
l.append(uniform(0,10))
e=e(l)
d=dmean(e,l,uniform(0,10))
答案 0 :(得分:4)
您有一个名为mpstat | awk 'FNR == 4 {print $1;}' >> CPU_usage.plot
mpstat | awk 'FNR == 4 {printf " %f", $4;}' >> CPU_usage.plot
mpstat | awk 'FNR == 4 {printf " %f", $6;}' >> CPU_usage.plot
mpstat | awk 'FNR == 4 {printf " %f\n", $13;}' >> CPU_usage.plot
的函数。第一次通过e
循环,通过创建同名for
的变量来覆盖函数名称。下一次循环时,它会尝试调用该函数,但e=e(l)
现在是一个e
值,无法调用。您可以通过为变量选择其他名称来解决此问题:
float
如您所见,Python不区分变量名称和函数名称,因此您必须确保不对变量和函数使用相同的名称。