《python程序语言设计》2018版第5章第46题均值和标准方差-下部(本来想和大家说抱歉,但成功了)

接上回,5.46题如何的标准方差

本来想和大家说非常抱歉各位同学们。我没有找到通过一个循环完成两个结果的代码。

但我逐步往下的写,我终于成功了!!

在这里插入图片描述

这是我大前天在单位找到的公式里。x上面带一横是平均值。

我不能用函数的办法封装循环。所以我只能从循环里找办法。可是 我建立 了第一个循环


step_num = 0
num_c = 0
pow_c = 0
while step_num < 10:
    a = eval(input("Enter number is: "))
    num_c += a
    pow_c += pow(a, 2)

    step_num += 1
    

但是如果在他下面在建立一个循环呢?。

我建立后进行了测试发现了没有停止要不断输入数。但是在今天我在给代码加上了一些注释。我发现所谓的无限输入,其实是我要做两次输入也就是20个数,所以才会有循环没有停止的错觉。

代码如下

step_num = 0
step_num2 = 0
num_c = 0
pow_c = 0
c = 0
cTO = 0
while step_num < 10:
    a = eval(input("Enter method number for mean is: "))
    num_c += a
    pow_c += pow(a, 2)

    step_num += 1

t2 = num_c / 10

# 标准方差计算
while step_num2 < 10:
    c = eval(input("Enter method number for deviation is: "))
    print(t2)
    cTO += abs(pow(c - t2, 2))
    step_num2 += 1
tt = (cTO / 9) ** 0.5

print("10个数逐个平方并相加", pow_c)
print("10个数相加总计", num_c)
print("10个数在和均值相减,然后逐步相加结果", cTO)
print(f"The mean is {t2}")
print(f"The standard deviation is {tt}")

这个代码大家可以试一下,第一批10个是为计算均值准备的,而第二批10个是为计算标准方差而准备的。别惊慌。但我的这个代码比较繁琐,因为是从2022年开始到2024.6.9第一次做对这道题,所以很有纪念意义。

但他很原始,作为第一版。我估计还有更简答的办法,还是那句话下次再更简话。当然第5章还是用第1到第5学的办法来接。

另外本次的结果我用wps已经计算过了

在这里插入图片描述

2.9733

在这里插入图片描述

书里的结果是2.99794

好了祝大家端午安康。一会出去吃烤串。继续努力

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 19:36:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 19:36:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 19:36:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 19:36:05       18 阅读

热门阅读

  1. 在CentOS 7.9上安装和配置mitmproxy的详细步骤

    2024-06-09 19:36:05       8 阅读
  2. Web前端不挂科:深入探索与实战指南

    2024-06-09 19:36:05       8 阅读
  3. 小黑狗AI:新媒体AI创作的得力助手

    2024-06-09 19:36:05       9 阅读
  4. oracle linux和ubuntu的区别

    2024-06-09 19:36:05       7 阅读
  5. python学习笔记

    2024-06-09 19:36:05       8 阅读
  6. Spring Bean的创建过程通常遵循以下步骤:

    2024-06-09 19:36:05       7 阅读