python国防_Python+Excel数据分析实战:军事体能考核成绩评定(八)体型评定

这一章我们实现男子和女子体型的评定,原始数据是身高、体重或者体脂百分比。作为军人,达到体型合格是基本要求,也是军人形象气质的基础,相关规定:体型合格就不用考虑单项不合格的情况,只看通用训练科目成绩总分;体型不合格,就不能再有单项不及格的情况,若有单项不及格,不管总分多少,直接总评不合格。

7c4fbf835d99

一、基本情况

BMI指数(Body Mass Index,简称BMI),身体质量指数,是用体重千克数除以身高米数的平方得出的数字,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。当我们需要比较及分析一个人体的体重对于不同高度的人所带来的健康影响时,BMI值是一个中立而可靠的指标。

计算公式为:BMI=体重(千克)除以身高(米)的平方。

通过分析下表,只要对Excel表里的原始身高、体重值进行计算,看BMI值是否满足下表BMI的范围的要求,就能得知体型是否合格。若BMI指数不合格,再进一步采用体脂百分比评定。

7c4fbf835d99

男子BMI指数表

7c4fbf835d99

女子BMI指数表

7c4fbf835d99

男女体脂表

所以录入Excel表中的标准只需要BMI、PBF的范围大小值即可,且各年龄段的最小值是相同的:

7c4fbf835d99

体型录入

同样,通过Python的openpyxl模块读取标准表中的数据,得到BMI、PBF的范围大小值即可。

二、代码实现

7c4fbf835d99

原始成绩登记表

1.男子和女子体型计算写成了一个带性别参数的类,文件名为bodily_form.py,根据性别参数,读取工作簿上不同区域的标准数据。方法bodilyform_score_computing()有3个参数,年龄、BMI指数、体脂百分比,返回“合格”或者“不合格”。

# 男子女子体型的计算

# 从工作表“体型标准”中读取数据

import openpyxl

class BodilyForm:

def __init__(self, gender):

self.gender = gender # 性别

wb = openpyxl.load_workbook('通用训练课目考核成绩计算.xlsx')

body_type = wb['体型标准']

if self.gender == '男':

self.lowest_BMI = body_type['A3'].value # 最低身体质量指数

self.age24_BMI = body_type['B3'].value # 24岁以下,最高身体质量指数

self.age25_29_BMI = body_type['C3'].value # 25~29岁,最高身体质量指数

self.age30_39_BMI = body_type['D3'].value

self.age40_49_BMI = body_type['E3'].value

self.age50_59_BMI = body_type['F3'].value

# print(self.lowest_BMI,self.age24_BMI,self.age25_29_BMI,self.age30_39_BMI,self.age40_49_BMI,

# self.age50_59_BMI)

self.lowest_PBF = body_type['A11'].value # 最低体脂比

self.age24_PBF = body_type['B11'].value # 24岁以下,最高体脂比

self.age25_29_PBF = body_type['C11'].value # 25~29岁,最高体脂比

self.age30_39_PBF = body_type['D11'].value

self.age40_49_PBF = body_type['E11'].valu

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值