【Python】实战:生成有关联单选问卷 csv《营养不良风险评估表》

目录

一、适用场景

二、业务需求

三、Python 文件

(1)创建文件

(2)示例代码

四、csv 文件

(1)营养不良风险评估表(问题 6 不选“不能取得”)

(2)营养不良风险评估表(问题 6 选择“不能取得”)



一、适用场景

实战场景:

  • 问卷全部为单选题
  • 问卷问题全部为必填
  • 问题之间存在关联关系
  • 每个问题的答案分数不同
  • 根据问卷全部问题得分生成总分数
  • 根据问卷总分数生成对应判断文案结果


二、业务需求

营养不良风险评估表

评估项目

评分标准

1. 过去三个月内有没有因为食欲不振、消化问题、咀嚼或吞咽困难而减少食量

0 = 食量严重减少

1 = 食量中度减少

2 = 食量没有改变

2. 过去三个月内体重下降的情况

0 = 体重下降大于 3 公斤

1 = 不知道

2 = 体重下降大于 1-3 公斤

3 = 体重没有下降

3. 活动能力

0 = 需长期卧床或坐轮椅

1 = 可以下床或离开轮椅

2 = 可以外出

4. 过去三个月内有没有受到心理创伤或患上急性疾病?

0 = 有

2 = 没有

5. 精神心理问题?

0 = 严重痴呆或抑郁

1 = 轻度痴呆

2 = 没有精神心理

6. 身体质量问(BMI)(kg/m2)

0 = BMI 低于 19

1 = BMI 高于 19 而低于 21

2 = BMI 高于 21 而低于 23

3 = BMI 等于或大于 23

【6 与 7 问题关联】

如不能取得身体质量指数(BMI),请以问题 7 代替 6。

如已完成问题 6 ,请不要回答问题 7 。

7. 小腿围(CC)(公分,cm)?

0 = CC 低于 31

3 = CC 等于或大于 31

跌倒风险总分

□分

跌倒风险分级

□级

0:低风险,正常营养状况,总分 12-14 分

1:中风险,有营养不良的风险,总分 8-11 分

2:高风险,营养不良,总分 0-7 分

营养不良风险分级标准

分级

分级名称

分级标准

0

低风险

正常营养状况,总分 12-14 分

1

中风险

有营养不良的风险,总分 8-11 分

2

高风险

营养不良,总分 0-7 分



三、Python 文件

(1)创建文件

InnutritionSixForm.py

(2)示例代码

from itertools import product

# 营养不良风险评估表
a = [0,1,2]
b = [0,1,2,3]
c = [0,1,2]
d = [0,2]
e = [0,1,2]
f1 = [0,1,2,3]
f2 = [0,3]
# 问题 6 不选“不能取得”时:f1 = [0,1,2,3]
# 问题 6 选择“不能取得”时:f2 = [0,3]

# 0 低风险:正常营养状况,总分 12-14 分
# 1 中风险:有营养不良的风险,总分 8-11 分
# 2 高风险:营养不良,总分 0-7 分

for scoreGroup in product(a,b,c,d,e,f1):
    if 12 <= sum(scoreGroup) <= 14:
        grade = '低风险'
    elif 8 <= sum(scoreGroup) <= 11:
        grade = '中风险'
    elif 0 <= sum(scoreGroup) <= 7:
        grade = '高风险'
    else:
        grade = '其他等级'

    with open('营养不良风险评估表(问题 6 不选“不能取得”).csv', 'a+', encoding='utf-8', newline='') as csvf1:
        print(grade,',',sum(scoreGroup),',',scoreGroup[0],',',scoreGroup[1],',',scoreGroup[2],',',scoreGroup[3],',',
              scoreGroup[4],',','-',',',scoreGroup[5],file = csvf1)
    csvf1.close

for scoreGroup in product(a,b,c,d,e,f2):
    if 12 <= sum(scoreGroup) <= 14:
        grade = '低风险'
    elif 8 <= sum(scoreGroup) <= 11:
        grade = '中风险'
    elif 0 <= sum(scoreGroup) <= 7:
        grade = '高风险'
    else:
        grade = '其他等级'

    with open('营养不良风险评估表(问题 6 选择“不能取得”).csv', 'a+', encoding='utf-8', newline='') as csvf2:
        print(grade,',',sum(scoreGroup),',',scoreGroup[0],',',scoreGroup[1],',',scoreGroup[2],',',scoreGroup[3],',',
              scoreGroup[4],',','-',',',scoreGroup[5],file = csvf2)
    csvf2.close


四、csv 文件

生成如下结果表格: 

【Python】实战:生成有关联单选问卷 csv《营养不良风险评估表》_第1张图片

【Python】实战:生成有关联单选问卷 csv《营养不良风险评估表》_第2张图片

(1)营养不良风险评估表(问题 6 不选“不能取得”)

示例表格结果,不全,请用代代码生成:

等级名称 问题总分 问题1得分 问题2得分 问题3得分 问题4得分 问题5得分 问题6得分
低风险  14 2 3 2 2 2 3
低风险  13 1 3 2 2 2 3
低风险  13 2 2 2 2 2 3
低风险  13 2 3 1 2 2 3
低风险  13 2 3 2 2 1 3
低风险  13 2 3 2 2 2 2
低风险  12 0 3 2 2 2 3
低风险  12 1 2 2 2 2 3
低风险  12 1 3 1 2 2 3
低风险  12 1 3 2 2 1 3
低风险  12 1 3 2 2 2 2
低风险  12 2 1 2 2 2 3
低风险  12 2 2 1 2 2 3
低风险  12 2 2 2 2 1 3
低风险  12 2 2 2 2 2 2
低风险  12 2 3 0 2 2 3
低风险  12 2 3 1 2 1 3
低风险  12 2 3 1 2 2 2
低风险  12 2 3 2 0 2 3
低风险  12 2 3 2 2 0 3
低风险  12 2 3 2 2 1 2
低风险  12 2 3 2 2 2 1
中风险  11 0 2 2 2 2 3
中风险  11 0 3 1 2 2 3
中风险  11 0 3 2 2 1 3

(2)营养不良风险评估表(问题 6 选择“不能取得”)

示例表格结果,不全,请用代代码生成:

等级名称 问题总分 问题1得分 问题2得分 问题3得分 问题4得分 问题5得分 问题6得分 问题7得分
低风险  14 2 3 2 2 2  -  3
低风险  13 1 3 2 2 2  -  3
低风险  13 2 2 2 2 2  -  3
低风险  13 2 3 1 2 2  -  3
低风险  13 2 3 2 2 1  -  3
低风险  12 0 3 2 2 2  -  3
低风险  12 1 2 2 2 2  -  3
低风险  12 1 3 1 2 2  -  3
低风险  12 1 3 2 2 1  -  3
低风险  12 2 1 2 2 2  -  3
低风险  12 2 2 1 2 2  -  3
低风险  12 2 2 2 2 1  -  3
低风险  12 2 3 0 2 2  -  3
低风险  12 2 3 1 2 1  -  3
低风险  12 2 3 2 0 2  -  3
低风险  12 2 3 2 2 0  -  3
中风险  11 0 2 2 2 2  -  3
中风险  11 0 3 1 2 2  -  3
中风险  11 0 3 2 2 1  -  3
中风险  11 1 1 2 2 2  -  3
中风险  11 1 2 1 2 2  -  3
中风险  11 1 2 2 2 1  -  3
中风险  11 1 3 0 2 2  -  3

你可能感兴趣的:(Python,爬虫基础与进阶,python)