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

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

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

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

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

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

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

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

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

【输出形式】标准输出。

Python 【问题描述】按照世卫组织的标准: 男性:(身高cm-80)×70%=标准体重 女性:(身高cm-70)×60%=标准体重 标准体重正负10%为正常体重(含10%) 标准体重正负1
输出
Python 【问题描述】按照世卫组织的标准: 男性:(身高cm-80)×70%=标准体重 女性:(身高cm-70)×60%=标准体重 标准体重正负10%为正常体重(含10%) 标准体重正负1
代码测试中我感觉出现了些小问题,因为测试结果与本编程下的测试结果出现相反的情况
Python 【问题描述】按照世卫组织的标准: 男性:(身高cm-80)×70%=标准体重 女性:(身高cm-70)×60%=标准体重 标准体重正负10%为正常体重(含10%) 标准体重正负1
原本应该是这样的:
Python 【问题描述】按照世卫组织的标准: 男性:(身高cm-80)×70%=标准体重 女性:(身高cm-70)×60%=标准体重 标准体重正负10%为正常体重(含10%) 标准体重正负1
就先倒过来写,反正这样过了,就直接开始列表套娃:
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.9x[2]/((x[1]-70)*0.6)1.1 else ('C0' if 0.8x[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.9x[2]/((x[1]-80)*0.7)1.1 else ('C1' if 0.8x[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]]]

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

Original: https://blog.csdn.net/missionnn/article/details/120795701
Author: 可乐土豆泥
Title: Python 【问题描述】按照世卫组织的标准: 男性:(身高cm-80)×70%=标准体重 女性:(身高cm-70)×60%=标准体重 标准体重正负10%为正常体重(含10%) 标准体重正负1

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/742301/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球