«

怎么用Python生成有关联单选问卷

时间:2024-6-11 13:49     作者:韩俊     分类: Python


这篇“怎么用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 选择“不能取得”)

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

    标签: python

    热门推荐