首頁 > 軟體

Python實戰之生成有關聯單選問卷

2023-11-26 14:00:20

一、適用場景

實戰場景:

  • 問卷全部為單選題
  • 問卷問題全部為必填
  • 問題之間存在關聯關係
  • 每個問題的答案分數不同
  • 根據問卷全部問題得分生成總分數
  • 根據問卷總分數生成對應判斷文案結果

二、業務需求

營養不良風險評估表

評估專案評分標準
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生成問卷內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com