目录
一、适用场景
二、业务需求
三、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 分 |
InnutritionSixForm.py
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
生成如下结果表格:
示例表格结果,不全,请用代代码生成:
等级名称 | 问题总分 | 问题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 |
示例表格结果,不全,请用代代码生成:
等级名称 | 问题总分 | 问题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 |