Python 【问题描述】按照世卫组织的标准: 男性:(身高cm-80)×70%=标准体重 女性:(身高cm-70)×60%=标准体重 标准体重正负10%为正常体重(含10%) 标准体重正负1

根据世界卫生组织的体重计算公式,对于男性((身高cm-80)×70%)和女性((身高cm-70)×60%),我们分析了whdata.csv数据,得出不同体重状况的人数。正常体重、体重过轻、过重、肥胖及体重不足的个体分布情况如下:(具体人数见下文)
摘要由CSDN通过智能技术生成

【问题描述】按照世卫组织的标准:

男性:(身高cm-80)×70%=标准体重

女性:(身高cm-70)×60%=标准体重

标准体重正负10%为正常体重(含10%)

标准体重正负10%~20%为体重过重或过轻(含20%)

标准体重正负20%以上为肥胖或体重不足

   请分别计算输出男性和女性正常体重、体重过重、体重过轻、肥胖和体重不足的人数。

【输入形式】csv文件格式,文件名为whdata.csv。

【输出形式】标准输出。
在这里插入图片描述
输出
在这里插入图片描述
代码测试中我感觉出现了些小问题,因为测试结果与本编程下的测试结果出现相反的情况
在于这里的问题:在这里插入图片描述
原本应该是这样的:
在这里插入图片描述
就先倒过来写,反正这样过了,就直接开始列表套娃:

import  pandas  as  pd
if    __name__    ==    '__main__':
	[print(pd.DataFrame([[x.count('A1'), x.count('A0')], [x.count('B1'), x.count('B0')], [x.count('C1'), x.count('C0')], [x.count('E1'), x.count('E0')], [x.count('D1'), x.count('D0')]], index=['正常', '不足', '过轻', '过重', '肥胖'], columns=['男性','女性'])) for x in [[('A0' if 0.9<=x[2]/((x[1]-70)*0.6)<=1.1 else ('C0' if 0.8<=x[2]/((x[1]-70)*0.6)<0.9 else ('B0' if x[2]/((x[1]-70)*0.6)<0.8 else('D0' if 1.1<x[2]/((x[1]-70)*0.6)<=1.2 else 'E0')))) if x[0]==0 else ('A1' if 0.9<=x[2]/((x[1]-80)*0.7)<=1.1 else ('C1' if 0.8<=x[2]/((x[1]-80)*0.7)<0.9 else ('B1' if x[2]/((x[1]-80)*0.7)<0.8 else('D1' if 1.1<(x[2]/((x[1]-80)*0.7))<=1.2 else 'E1')))) for x in pd.read_csv('whdata.csv').values]]]

仅供参考,用选择结构来写更快

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值