联机统计Python:方差计算不正确

联机统计Python:方差计算不正确,python,mean,variance,Python,Mean,Variance,SOF, 我是Python新手,我在网上找到了很多信息,但是在计算均值、方差等时需要使用列表,这是我做不到的。我没有问题计算用户输入的平均值,但方差是关闭的 根据我的理解,方差是一个“数”和它的“均数”平方之间的差。也许问题就在那里?我不确定是否诚实,这是我的最后手段,如果您能以任何方式提供帮助,我将不胜感激,我也愿意接受关于我如何编写代码的任何建议 谢谢 到目前为止,我的代码是: n = input("Enter Number ") n = int (n) average = 0 sum =

SOF, 我是Python新手,我在网上找到了很多信息,但是在计算均值、方差等时需要使用列表,这是我做不到的。我没有问题计算用户输入的平均值,但方差是关闭的

根据我的理解,方差是一个“数”和它的“均数”平方之间的差。也许问题就在那里?我不确定是否诚实,这是我的最后手段,如果您能以任何方式提供帮助,我将不胜感激,我也愿意接受关于我如何编写代码的任何建议

谢谢

到目前为止,我的代码是:

n = input("Enter Number ")
n = int (n)
average = 0

sum = 0

for num in range(0,n+1,1):
        sum = sum + num;

mean = (sum *1.0/ n)

variance = 0

for num in range(n+1):
     sum = (num- mean)**2         

variance = (sum*1.0) 

print("Mean is: ",mean , "Variance is: ",variance)
范围(n+1)
提供一个从0到n的列表。但是你需要的是1-n,所以使用
range(1,n+1)


旁注:这里有一个内置的统计库。

首先,方差不仅仅是数字均方,它是所有数字均方除以n(或n-1)的总和

计算方差的范围应从1开始:
范围(1,n+1)

现在,方差可以用两种方法计算:除以
n
n-1
,得到两种不同的答案

variance1 = (var*1.0) /n
variance2 = (var*1.0) /(n-1)
例如:对于n=10,方差1=8.25,方差2=9.16666

计算总体方差时使用
n
,计算样本方差时使用
n-1

其他详情: 此外,在使用
范围时,如果步长值为1,则无需指定。使用
范围(0,n+1)
代替
范围(0,n+1,1)


避免对均值和方差使用相同的变量
sum
,因为这只会导致公式混淆。

谢谢Sruthi V,我感谢你的输入,我做了你建议的更新;但是,它仍然显示不正确的输出。例如对于用户输入10,平均值应为5.5,方差应为9.16667。我得到:('Mean is:',5.5,'Variance is:',11.275)@Onecam如果对你有效,你能投票或接受我的答案吗?谢谢,我用你的建议更新了我的代码,但是,它仍然显示不正确的输出。例如对于用户输入10,平均值应为5.5,方差应为9.16667。我得到:('Mean is:',5.5,'variation is:',11.275)
var=0
for num in range(1,n+1):
     var = var +(num- mean)**2         
variance1 = (var*1.0) /n
variance2 = (var*1.0) /(n-1)