Python实战之生成有关联单选问卷

一、适用场景

实战场景:

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

二、业务需求

营养不良风险评估表

评估项目 评分标准
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实战之生成有关联单选问卷_第1张图片

Python实战之生成有关联单选问卷_第2张图片

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

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

Python实战之生成有关联单选问卷_第3张图片

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

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

Python实战之生成有关联单选问卷_第4张图片

到此这篇关于Python实战之生成有关联单选问卷的文章就介绍到这了,更多相关Python生成问卷内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Python实战之生成有关联单选问卷)