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

 更新时间:2023年04月19日 15:04:09   作者:顾三殇  
这篇文章主要为大家分享了一个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实战之生成有关联单选问卷的文章就介绍到这了,更多相关Python生成问卷内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python淘宝准点秒杀抢单的实现示例

    python淘宝准点秒杀抢单的实现示例

    为了想要抢到想要的商品,想了个用Python实现python淘宝准点秒杀抢单方案,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • numpy中np.nditer、flags=[multi_index] 的用法说明

    numpy中np.nditer、flags=[multi_index] 的用法说明

    这篇文章主要介绍了numpy中np.nditer、flags=['multi_index'] 的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • python机器学习理论与实战(六)支持向量机

    python机器学习理论与实战(六)支持向量机

    这篇文章主要介绍了python机器学习理论与实战第六篇,支持向量机的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • django一对多模型以及如何在前端实现详解

    django一对多模型以及如何在前端实现详解

    这篇文章主要介绍了django一对多模型以及如何在前端实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 用Python实现等级划分

    用Python实现等级划分

    大家好,本篇文章主要讲的是用Python实现等级划分,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • Python调用高德API实现批量地址转经纬度并写入表格的功能

    Python调用高德API实现批量地址转经纬度并写入表格的功能

    这篇文章主要介绍了Python调用高德API实现批量地址转经纬度并写入表格的功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Flask-Caching如何使用提高性能

    Flask-Caching如何使用提高性能

    Flask-Caching是提高Flask应用性能的工具,通过缓存数据减少重复计算,加快响应速度,本文就来介绍一下Flask-Caching使用,具有一定的参考价值,感兴趣的可以了解一下
    2025-01-01
  • Matplotlib使用Cursor实现UI定位的示例代码

    Matplotlib使用Cursor实现UI定位的示例代码

    这篇文章主要介绍了Matplotlib使用Cursor实现UI定位的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Python 由字符串函数名得到对应的函数(实例讲解)

    Python 由字符串函数名得到对应的函数(实例讲解)

    下面小编就为大家带来一篇Python 由字符串函数名得到对应的函数(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 使用Python破解RAR文件密码的代码实例

    使用Python破解RAR文件密码的代码实例

    这篇文章主要介绍了使用Python破解RAR文件密码的代码实例,rar 压缩文件资源又不少是被加密的,密码通常也比较简单,我们可以通过暴力破解的方式来获取,通常耗时也比较小,需要的朋友可以参考下
    2023-11-11

最新评论