您现在的位置是:首页 >学无止境 >【Python】实战:生成有关联单选问卷 csv《营养不良风险评估表》网站首页学无止境
【Python】实战:生成有关联单选问卷 csv《营养不良风险评估表》
简介【Python】实战:生成有关联单选问卷 csv《营养不良风险评估表》
目录
一、适用场景
实战场景:
- 问卷全部为单选题
- 问卷问题全部为必填
- 问题之间存在关联关系
- 每个问题的答案分数不同
- 根据问卷全部问题得分生成总分数
- 根据问卷总分数生成对应判断文案结果
二、业务需求
营养不良风险评估表
评估项目 | 评分标准 | |
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 不选“不能取得”)
示例表格结果,不全,请用代代码生成:
等级名称 | 问题总分 | 问题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 |
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。