这篇“怎么用Python生成有关联单选问卷”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用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 文件
生成如下结果表格:
(1)营养不良风险评估表(问题 6 不选“不能取得”)
示例表格结果,不全,请用代代码生成:
(2)营养不良风险评估表(问题 6 选择“不能取得”)
示例表格结果,不全,请用代代码生成: