1
我必须使用列表的循环计算标准偏差。 这是我有:如何使用Python上的循环计算标准偏差
elif user_option == 2:
stdev= 0
average = 0
for val in scores_list:
diffsquared= (val - average)**2
sum_diffsquared= diffsquared + val
stdev= ((sum_diffsquared)/num_scores)**(1/2)
print(stdev)
我一直在得到错误的数字。
我所做的是我在elif语句之前计算了elif语句中的平均值。但由于某种原因,它说“平均”未定义 – user300
您必须计算相应的'if'语句之前的平均值。您应该熟悉变量范围的概念(http://en.wikipedia.org/wiki/Scope_(computer_science))。总之,你的变量“平均值”对于'elif'范围是未定义的。如果您在'if/elif'语句之前声明“平均值”,则该变量仍将通过所有'if/elif'范围可见。 – andrew