如何计算标准差?

本人是一枚生物学的学生,由于对生物信息学特别感兴趣,于是想自学生物信息学(新手莫怪)。了解到生物信息学要有编程基础,尤其是要会一门编程语言,例如:R语言、Python、Perl等,还要熟悉Linux系统,作为生信小白,听说Python挺简单的,于是就自学了Python,花了两天时间了解了Python的基础语法后,今天想做个练习题试试手(实践是检验真理的唯一标准),下面是练习题:(试题来源:《PYTHON生物信息学数据管理》)

今日练习题:如何计算标准差?

计算标准差有些复杂,因为需要 for 循环来计算每个值的平方差,必须先有预先计算出 的平均值。

然后将每个值减去平均值((value-average) * *2)。 所有平方差要加在一起,除以结果的数量,最后计算结果的平方根。平方差求和可以设置一个变量为 0.0,每得到一个平方差就加上去。

公式如下:

书中给出的计算的脚本是:

import math

data = [3.53,3.47,3.51,3.72,3.43]

average = sum(data)/len(data)

total = 0.0

for value in data:

total += (value - average)**2

stddev = math.sqrt(total/len(data))

print(stddev)

参照书中给出的答案,结合前面所用到的input()函数,对这个计算标准差的脚本进行升级。至于怎么升级,答案肯定是增加用户输入。此次升级脚本的意义和难度都不大,完全是为了巩固一下前面所学的知识(PS:主要是已经学会了input()函数,要不然还是有点难度的,毕竟是会了不难,难了不会!)

话不多说,上手最重要,下面进行分步解析。

第一步:导入模块

这里涉及计算,肯定是首先导入math模块喽!

import math

导入成功,万里长征第一步完成。

第二步:获取用户输入

①首先定义数据变量列表

data=[]

②获取用户输入,为了区分不同的数值,两个数据之间以“,”分割,这里使用split(',')。(split(',')在[自学生信Python(第四天)]https://www.jianshu.com/p/d7ebffdfcbe0已经讲过,这里就直接使用了。)

data1 = input("请输入数值:",).split(',')

③将用户输入的字符串转化为数值

i=0

for i in range(0,len(data1)):

data.append(eval(data1[i]))

i=i+1

**第三步:计算公式

观察公式可以知道,首先我们需要求出输入的数据的平均值(平均值计算参考https://www.jianshu.com/p/d7ebffdfcbe0)

然后计算每个数和平均值差的平方,然后求和,再求其平均值,最后再求其平方根。

①先求平均值

average = sum(data)/len(data)

②求每个数和平均值差的平方,并求和

total = 0.0

for value in data:

total += (value - average)**2

③求上述和的平均值,然后求其结果的平方根

stddev = math.sqrt(total/len(data))

**第四步:输出结果

print(stddev)

综上所述,将结果汇总,其完整代码如下:

import math

data=[]

i = 0

data1 = input("请输入数值:",).split(',')

for i in range(0,len(data1)):

data.append(eval(data1[i]))

i=i+1

average = sum(data)/len(data)

total = 0.0

for value in data:

total += (value - average)**2

stddev = math.sqrt(total/len(data))

print(stddev)

使用简单的几行代码,实现获取用户输入,并计算出用户输出的结果。感兴趣的蛇友们,还可以加入异常判断,如果用户输入的不是数字而是别的什么,实现也能使程序运行不报错,而且能提醒用户重新输入数据的功能。

虽然这是个小小的计算程序,但对于初学者的我来说每一次对原代码的升级改造,哪怕是读懂后的注释都感觉是一次进步提升,总之代码虽小,动手最重要!希望更多学习Python的爱好者不要像我一样眼高手低,学习编程就是要,思考,敲码,思考,敲码,敲码,再敲码!

怎么用python编写程序计算标准差_自学生信Python(第五天)|如何计算标准差?...相关推荐

  1. python编写程序解方程_第2章 Python初步 课后题

    [单选题]建设中国特色社会主义,把我国建设成为富强.民主.文明.和谐.美丽的社会主义现代化强国,是我国各族人民的( ) [简答题]案例系统的测试报告,提交时间为9月28日,上午九点之前 [单选题]一份 ...

  2. 编写python程序、计算账户余额_小明有20w存款存在余额宝中,按余额宝年收益为3.35%计算,用Python编写程序计算,多少年后小明的存款达到30w?...

    [判断题]卤素灯泡是在灯泡内充入氟.氯等卤素气体. [单选题]我国刑法第12条关于溯及力的规定采取的是( ). [填空题]本地局域网 LAN 内, () 和无绳电话速率较低,主流带宽是 100kbps ...

  3. python编写程序计算三角形的面积_编程题:编写程序输入三角形的3条边长,计算并输出三角形的面积。...

    展开全部 一.程序分析 三角形面积海伦公式:√[ p ( p - a ) ( p - b ) ( p - c ) ] .其中 p = (a + b + c) / 2 .a.b.c分别是三角形的三边长. ...

  4. python编写程序 计算1_《Python程序设计》——第1章 计算与问题求解简介 1.1 计算与Python简介-阿里云开发者社区...

    本节书摘来自华章计算机<Python程序设计>一书中的第1章,第1.1节,作者:[美]戴维 I.施奈德(David I. Schneider)著,更多章节内容可以访问云栖社区"华 ...

  5. 用python编写程序判断奇偶_如何用python判断奇偶数

    问题分析:用Python编写一个程序,判断输入的数字是奇数还是偶数,并相应的输出信息,要判断一个数为奇数还是偶数,依据的是它被2除后的余数.因此可以用"%"运算符来计算并判断. 代 ...

  6. python编写程序输出诗句_闲来无事能干嘛 用Python来玩诗歌接龙

    闲来无事能干嘛 用Python来玩诗歌接龙 作为一个懂Python爬虫的运维狗,闲来无事的时候总要找点乐子(睡觉不香么),哈哈,就是这么的敬业(其实是无聊).今天网盾科技给大家讲讲怎么用Python爬 ...

  7. 编写程序计算交错序列_求给定精度的简单交错序列部分和

    C C语言开发 求给定精度的简单交错序列部分和 7-13 求给定精度的简单交错序列部分和 (15 分) 本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后 ...

  8. python编写arcgis脚本教程_面向ArcGIS的Python脚本编程

    前言 1 鸣谢 3 第一部分 Python和地理处理的相关概念 4 第1章 Python简介 4 1.1 引言 4 1.2 Python的特点 4 1.3 脚本语言和程序语言 4 1.4 ArcGIS ...

  9. 用计算python两点之间的距离math_自学生信Python(第二天)|计算出两点之间的距离...

    计算出两点之间的距离 日常旁白:本人是一枚生物学的学生,由于对生物信息学特别感兴趣,于是想自学生物信息学(新手莫怪).了解到生物信息学要有编程基础,尤其是要会一门编程语言,例如:R语言.Python. ...

最新文章

  1. 原 c++中map与unordered_map的区别
  2. 3D打印火箭发动机真被做出来了!首次地面全周期点火实测,发射报价不到猎鹰9的五分之一...
  3. EFCore笔记之异步查询
  4. KnockoutJS 3.X API 第七章 其他技术(2) 使用扩展器来增加可观察量(监控属性)
  5. linux下getrlimit与sysconf函数
  6. www(apache)服务器的基本设置
  7. 【linux基础】linux不能进入系统
  8. c语言else语句,C# if…else 语句 | 菜鸟教程
  9. 牛顿插值法 matlab程序计算方法,牛顿插值法matlab程序
  10. [黑苹果双系统]macOS 12.4正式版OpenCore/Clover/winPE原版镜像
  11. SpringBoot AOP切面实现
  12. MIMO系列之分集与复用
  13. python必学的os模块详解_讨论 - 廖雪峰的官方网站
  14. 百度搜索引擎优化入门篇——来自百度的一封信
  15. 快速拿下CKA认证考试,这些要求和tips你得知道
  16. ESXi6.5补丁更新
  17. Matlab从入门到精通(一)
  18. 国产嵌入式操作系统发展思考 | 何小庆
  19. ibdata1是什么?
  20. (转载)物联网平台 分类CMP、DMP、AEP、BAP

热门文章

  1. 心跳之旅—iOS用手机摄像头检测心率(PPG)
  2. 51单片机 YF-S201水流量检测传感器的使用
  3. PyTorch 11—简单图像定位
  4. 三级分销系统哪家好?360shop
  5. html中循环生成表格数据,动态生成表格(简单实现)
  6. oracle快速生成序列号,Oracle实现自定义序列号生成
  7. MySql中用sql语句实现按汉字首字母排序
  8. AC/DC电源适配器科普
  9. IBIS模型的那些年这些事(一)
  10. 全球及中国合成色素行业发展前景与投资趋势分析报告2022-2028年