GSMEthesis commited on
Commit
a3ef67e
·
verified ·
1 Parent(s): 3c43f9c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -39
app.py CHANGED
@@ -1169,7 +1169,7 @@ def attention_check1():
1169
  st.warning("لطفاً یک گزینه را انتخاب کنید")
1170
 
1171
  def random_likert_questions():
1172
- """نمایش سوالات لیکرت به صورت گروهی با ذخیره‌سازی صحیح"""
1173
  question_groups = [
1174
  {
1175
  "title": "عدالت توزیعی",
@@ -1199,16 +1199,16 @@ def random_likert_questions():
1199
  "title": "سوال توجه",
1200
  "key": "attention_check",
1201
  "questions": [
1202
- {"key": "attention_check2", "question": "تا چه مقدار با دقت به سوالات پاسخ می‌دهید؟", "scale": 7,"labels": ["خیلی کم", "خیلی زیاد"]}
1203
  ]
1204
  },
1205
  {
1206
  "title": "عدالت رویه‌ای",
1207
  "key": "procedural",
1208
  "questions": [
1209
- {"key": "procedural_1", "question": ".فرآیند و رویه قیمت‌گذاری پلتفرم قابل قبول است", "scale": 7, "labels": ["کاملاً مخالفم", "کاملاً موافقم"]},
1210
- {"key": "procedural_2", "question": ".فرآیند و رویه قیمت‌گذاری پلتفرم منصفانه است", "scale": 7, "labels": ["کاملاً مخالفم", "کاملاً موافقم"]},
1211
- {"key": "procedural_3", "question": ".فرآیند و رویه قیمت‌گذاری پلتفرم معقول است", "scale": 7, "labels": ["کاملاً مخالفم", "کاملاً موافقم"]}
1212
  ]
1213
  },
1214
  {
@@ -1227,7 +1227,6 @@ def random_likert_questions():
1227
  # مقداردهی اولیه
1228
  if 'current_likert_group' not in st.session_state:
1229
  st.session_state.current_likert_group = 0
1230
- st.session_state.likert_answers = {}
1231
 
1232
  current_group = question_groups[st.session_state.current_likert_group]
1233
 
@@ -1235,44 +1234,13 @@ def random_likert_questions():
1235
 
1236
  # نمایش تمام سوالات این گروه
1237
  for question in current_group['questions']:
1238
- st.markdown(f"<p style='font-size:16px; margin-bottom:5px;'>{question['question']}</p>", unsafe_allow_html=True)
1239
-
1240
- # ایجاد اسلایدر لیکرت
1241
- max_value = question['scale']
1242
- value = st.slider(
1243
- "",
1244
- min_value=1,
1245
- max_value=max_value,
1246
- value=st.session_state.likert_answers.get(question["key"], (max_value+1)//2),
1247
- step=1,
1248
- key=f"slider_{question['key']}"
1249
- )
1250
-
1251
- # نمایش لیبل‌ها و مقدار انتخاب شده
1252
- st.markdown(
1253
- f"""
1254
- <div style="display: flex; justify-content: space-between; margin-top: -15px;">
1255
- <span>{question['labels'][0]}</span>
1256
- <span>{question['labels'][1]}</span>
1257
- </div>
1258
- <p style='text-align:center; color:#6a0dad; font-weight:bold;'>
1259
- پاسخ شما: {value} ({'کاملاً مخالفم' if value==1 else 'کاملاً موافقم' if value==max_value else 'خنثی' if value==((max_value+1)//2) else 'موافقم' if value>((max_value+1)//2) else 'مخالفم'})
1260
- </p>
1261
- """,
1262
- unsafe_allow_html=True
1263
- )
1264
-
1265
- # ذخیره پاسخ
1266
- st.session_state.likert_answers[question["key"]] = value
1267
 
1268
  # دکمه ادامه/اتمام
1269
  button_label = "ادامه به گروه بعدی" if st.session_state.current_likert_group < len(question_groups)-1 else "اتمام پرسشنامه"
1270
 
1271
  if st.button(button_label):
1272
- # ذخیره تمام پاسخ‌های این گروه در session اصلی
1273
- for q in current_group['questions']:
1274
- st.session_state[q["key"]] = st.session_state.likert_answers.get(q["key"], (q['scale']+1)//2)
1275
-
1276
  if st.session_state.current_likert_group < len(question_groups) - 1:
1277
  st.session_state.current_likert_group += 1
1278
  st.rerun()
 
1169
  st.warning("لطفاً یک گزینه را انتخاب کنید")
1170
 
1171
  def random_likert_questions():
1172
+ """نمایش سوالات لیکرت با دکمه‌های دایره‌ای"""
1173
  question_groups = [
1174
  {
1175
  "title": "عدالت توزیعی",
 
1199
  "title": "سوال توجه",
1200
  "key": "attention_check",
1201
  "questions": [
1202
+ {"key": "attention_check2", "question": "تا چه مقدار با دقت به سوالات پاسخ می‌دهید؟", "scale": 7, "labels": ["خیلی کم", "خیلی زیاد"]}
1203
  ]
1204
  },
1205
  {
1206
  "title": "عدالت رویه‌ای",
1207
  "key": "procedural",
1208
  "questions": [
1209
+ {"key": "procedural_1", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم قابل قبول است", "scale": 7, "labels": ["کاملاً مخالفم", "کاملاً موافقم"]},
1210
+ {"key": "procedural_2", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم منصفانه است", "scale": 7, "labels": ["کاملاً مخالفم", "کاملاً موافقم"]},
1211
+ {"key": "procedural_3", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم معقول است", "scale": 7, "labels": ["کاملاً مخالفم", "کاملاً موافقم"]}
1212
  ]
1213
  },
1214
  {
 
1227
  # مقداردهی اولیه
1228
  if 'current_likert_group' not in st.session_state:
1229
  st.session_state.current_likert_group = 0
 
1230
 
1231
  current_group = question_groups[st.session_state.current_likert_group]
1232
 
 
1234
 
1235
  # نمایش تمام سوالات این گروه
1236
  for question in current_group['questions']:
1237
+ answer = enhanced_likert_scale(question)
1238
+ st.session_state[question["key"]] = answer # ذخیره پاسخ با کلید اصلی
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1239
 
1240
  # دکمه ادامه/اتمام
1241
  button_label = "ادامه به گروه بعدی" if st.session_state.current_likert_group < len(question_groups)-1 else "اتمام پرسشنامه"
1242
 
1243
  if st.button(button_label):
 
 
 
 
1244
  if st.session_state.current_likert_group < len(question_groups) - 1:
1245
  st.session_state.current_likert_group += 1
1246
  st.rerun()