GSMEthesis commited on
Commit
3685382
·
verified ·
1 Parent(s): cdf9ab8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -15
app.py CHANGED
@@ -1091,29 +1091,32 @@ def attention_check1():
1091
  st.warning("لطفاً یک گزینه را انتخاب کنید")
1092
 
1093
  def random_likert_questions():
1094
- """نمایش سوالات لیکرت به ترتیب مشخص"""
1095
  # تعریف گروه‌های سوالات
1096
  question_groups = [
1097
  {
1098
- "title": "سوالات عدالت توزیعی",
1099
  "questions": [
1100
  {"key": "distributive_1", "question": "قیمتی که به شما ارائه شد، منصفانه است.", "scale": "7point"},
1101
  {"key": "distributive_2", "question": "قیمتی که به شما ارائه شد، معقول است.", "scale": "7point"},
1102
  {"key": "distributive_3", "question": "قیمتی که به شما ارائه شد، قابل قبول است.", "scale": "7point"}
1103
  ],
1104
- "attention_check": "من با دقت به این سوالات پاسخ می‌دهم."
 
 
 
 
1105
  },
1106
  {
1107
- "title": "سوالات عدالت رویه‌ای",
1108
  "questions": [
1109
  {"key": "procedural_1", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم قابل قبول است.", "scale": "7point"},
1110
  {"key": "procedural_2", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم منصفانه است.", "scale": "7point"},
1111
  {"key": "procedural_3", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم معقول است.", "scale": "7point"}
1112
- ],
1113
- "attention_check": "من با دقت به این سوالات پاسخ می‌دهم."
1114
  },
1115
  {
1116
- "title": "سوالات اطلاعاتی",
1117
  "questions": [
1118
  {"key": "informational_1", "question": "پلتفرم به صورت صادقانه دلایل تعیین قیمت را توضیح داد.", "scale": "5point"},
1119
  {"key": "informational_2", "question": "پلتفرم به طور کامل عوامل مؤثر بر تعیین قیمت را شرح داد.", "scale": "5point"},
@@ -1148,17 +1151,23 @@ def random_likert_questions():
1148
  else:
1149
  st.warning("لطفاً پاسخ خود را مشخص کنید")
1150
  else:
1151
- # بررسی سوال توجه بین گروه‌ها
1152
- if 'attention_check' in current_group and st.session_state.current_group < len(question_groups) - 1:
1153
  st.markdown("### سوال توجه")
1154
  attention = st.radio(
1155
- current_group['attention_check'],
1156
- ["کاملاً موافقم", "موافقم", "نظری ندارم", "مخالفم", "کاملاً مخالفم"],
1157
- index=None
 
1158
  )
1159
 
1160
  if st.button("تأیید و ادامه", key="attention_btn"):
1161
  if attention:
 
 
 
 
 
1162
  st.session_state.current_group += 1
1163
  st.session_state.current_question = 0
1164
  st.rerun()
@@ -1338,8 +1347,8 @@ def user_contact():
1338
  "price": st.session_state.price,
1339
  "user_contact": st.session_state.get("user_contact", ""),
1340
  "price_accepted": st.session_state.get("price_accepted", 0),
1341
- "attention_check1": st.session_state.attention_check1,
1342
- "attention_check2": st.session_state.attention_check2,
1343
  "trust": st.session_state.trust,
1344
  "pricing_method": st.session_state.pricing_method,
1345
  "price_increase": st.session_state.price_increase,
@@ -1390,7 +1399,8 @@ def main():
1390
  st.session_state.user_contact = None
1391
  st.session_state.demographic_data = None
1392
  st.session_state.price_accepted = 0
1393
-
 
1394
 
1395
  pages = {
1396
  "welcome": welcome_page,
 
1091
  st.warning("لطفاً یک گزینه را انتخاب کنید")
1092
 
1093
  def random_likert_questions():
1094
+ """نمایش سوالات لیکرت به ترتیب مشخص با اتنشن چک بین آنها"""
1095
  # تعریف گروه‌های سوالات
1096
  question_groups = [
1097
  {
1098
+ "title": "عدالت توزیعی",
1099
  "questions": [
1100
  {"key": "distributive_1", "question": "قیمتی که به شما ارائه شد، منصفانه است.", "scale": "7point"},
1101
  {"key": "distributive_2", "question": "قیمتی که به شما ارائه شد، معقول است.", "scale": "7point"},
1102
  {"key": "distributive_3", "question": "قیمتی که به شما ارائه شد، قابل قبول است.", "scale": "7point"}
1103
  ],
1104
+ "attention_check": {
1105
+ "question": "برای اطمینان از دقت شما، لطفاً گزینه 'کاملاً موافقم' را انتخاب کنید.",
1106
+ "key": "attention_check2",
1107
+ "correct_answer": "کاملاً موافقم"
1108
+ }
1109
  },
1110
  {
1111
+ "title": "عدالت رویه‌ای",
1112
  "questions": [
1113
  {"key": "procedural_1", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم قابل قبول است.", "scale": "7point"},
1114
  {"key": "procedural_2", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم منصفانه است.", "scale": "7point"},
1115
  {"key": "procedural_3", "question": "فرآیند و رویه قیمت‌گذاری پلتفرم معقول است.", "scale": "7point"}
1116
+ ]
 
1117
  },
1118
  {
1119
+ "title": "عدالت اطلاعاتی",
1120
  "questions": [
1121
  {"key": "informational_1", "question": "پلتفرم به صورت صادقانه دلایل تعیین قیمت را توضیح داد.", "scale": "5point"},
1122
  {"key": "informational_2", "question": "پلتفرم به طور کامل عوامل مؤثر بر تعیین قیمت را شرح داد.", "scale": "5point"},
 
1151
  else:
1152
  st.warning("لطفاً پاسخ خود را مشخص کنید")
1153
  else:
1154
+ # نمایش اتنشن چک بعد از اتمام سوالات distributive
1155
+ if 'attention_check' in current_group and st.session_state.current_group == 0:
1156
  st.markdown("### سوال توجه")
1157
  attention = st.radio(
1158
+ current_group['attention_check']["question"],
1159
+ ["کاملاً مخالفم", "مخالفم", "نظری ندارم", "موافقم", "کاملاً موافقم"],
1160
+ index=None,
1161
+ key=current_group['attention_check']["key"]
1162
  )
1163
 
1164
  if st.button("تأیید و ادامه", key="attention_btn"):
1165
  if attention:
1166
+ if attention == current_group['attention_check']["correct_answer"]:
1167
+ st.session_state.attention_check2 = "passed"
1168
+ else:
1169
+ st.session_state.attention_check2 = "failed"
1170
+
1171
  st.session_state.current_group += 1
1172
  st.session_state.current_question = 0
1173
  st.rerun()
 
1347
  "price": st.session_state.price,
1348
  "user_contact": st.session_state.get("user_contact", ""),
1349
  "price_accepted": st.session_state.get("price_accepted", 0),
1350
+ "attention_check1": st.session_state.get("attention_check1", None),
1351
+ "attention_check2": st.session_state.get("attention_check2", None),
1352
  "trust": st.session_state.trust,
1353
  "pricing_method": st.session_state.pricing_method,
1354
  "price_increase": st.session_state.price_increase,
 
1399
  st.session_state.user_contact = None
1400
  st.session_state.demographic_data = None
1401
  st.session_state.price_accepted = 0
1402
+ st.session_state.attention_check1 = None
1403
+ st.session_state.attention_check2 = None # مقداردهی اولیه
1404
 
1405
  pages = {
1406
  "welcome": welcome_page,