Модуль данных вопросов (questions_data) ======================================= .. automodule:: mylife3000.questions_data :members: :undoc-members: :show-inheritance: Обзор ----- Модуль ``questions_data.py`` содержит все психологические вопросы, разбитые по разделам и темам. Это статические данные, которые загружаются в память при инициализации приложения. Структура данных ---------------- .. mermaid:: graph LR SD[SECTION_QUESTIONS] --> S1[QUESTIONS_SELF_KNOWLEDGE] SD --> S2[QUESTIONS_VECTOR] SD --> S3[QUESTIONS_CHALLENGES] SD --> S4[QUESTIONS_ENVIRONMENT] SD --> S5[QUESTIONS_INTEGRATION] SD --> S6[QUESTIONS_MEMORIES] S1 --> T1A[Ядро личности] S1 --> T1B[Сильные стороны] S1 --> T1C[Ценности] T1A --> Q1[Список вопросов...] Основные словари ---------------- .. py:data:: QUESTIONS_SELF_KNOWLEDGE **Самопознание: Кто Я?** - вопросы о внутренней сущности и идентичности. **Темы:** - Ядро личности (8 вопросов) - Сильные и слабые стороны (8 вопросов) - Ценности и убеждения (8 вопросов) - Внутренний мир и рефлексия (8 вопросов) - Тело и ощущения (8 вопросов) - Синтез и самопринятие (8 вопросов) .. py:data:: QUESTIONS_VECTOR **Вектор: Куда я движусь?** - вопросы о целях и направлениях жизни. **Темы:** - Цели и устремления (8 вопросов) - Карьера и призвание (8 вопросов) - Ресурсы и управление (8 вопросов) - Действия и планы (8 вопросов) .. py:data:: QUESTIONS_CHALLENGES **Вызовы: Что мне мешает?** - вопросы о препятствиях и ограничениях. **Темы:** - Внутренние барьеры (8 вопросов) - Прокрастинация и откладывание (7 вопросов) - Мыслительные ловушки (8 вопросов) - Прошлый опыт и привычки (8 вопросов) .. py:data:: QUESTIONS_ENVIRONMENT **Окружение: Мои отношения?** - вопросы о социальных связях. **Темы:** - Ближний круг (8 вопросов) - Семья и родственные связи (8 вопросов) - Романтические отношения (8 вопросов) - Дружба и приятельские отношения (8 вопросов) - Токсичные и сложные отношения (8 вопросов) .. py:data:: QUESTIONS_INTEGRATION **Интеграция: Как я живу?** - вопросы о повседневных практиках. **Темы:** - Повседневность и рутины (8 вопросов) - Баланс и гармония (7 вопросов) - Привычки и системы (7 вопросов) - Ценности в действии (7 вопросов) - Удовольствие и радость (8 вопросов) .. py:data:: QUESTIONS_MEMORIES **Капсула Времени: История для моих детей** - вопросы для создания наследия. **Темы:** - Детство и юность (8 вопросов) - Опыт и взросление (8 вопросов) - Я и мои дети (8 вопросов) - Послание в будущее (9 вопросов) - Взгляд на окружающее (8 вопросов) - Творчество и абстракция (8 вопросов) Общий словарь ------------- .. py:data:: SECTION_QUESTIONS Объединяющий словарь всех разделов: .. code-block:: python SECTION_QUESTIONS = { "Самопознание: Кто Я?": QUESTIONS_SELF_KNOWLEDGE, "Вектор: Куда я движусь?": QUESTIONS_VECTOR, "Вызовы: Что мне мешает?": QUESTIONS_CHALLENGES, "Окружение: Мои отношения?": QUESTIONS_ENVIRONMENT, "Интеграция: Как я живу?": QUESTIONS_INTEGRATION, "Капсула Времени: История для моих детей": QUESTIONS_MEMORIES } Обработка "Случайного вопроса" ------------------------------ При инициализации в каждый раздел автоматически добавляется тема "Случайный вопрос", содержащая все вопросы раздела: .. code-block:: python for section_name, questions_dict in SECTION_QUESTIONS.items(): questions_dict["Случайный вопрос"] = [] for theme_questions in questions_dict.values(): if isinstance(theme_questions, list): questions_dict["Случайный вопрос"].extend(theme_questions) Философия вопросов ------------------ Вопросы разработаны с учетом принципов: * **Глубина** - побуждение к настоящей саморефлексии * **Безопасность** - отсутствие оценочных суждений * **Универсальность** - подходят для разных возрастов и культур * **Практичность** - применимость в повседневной жизни Пример вопроса -------------- .. code-block:: python question = QUESTIONS_SELF_KNOWLEDGE["Ядро личности"][0] # "Если бы тебе нужно было описать свою сущность, # не используя работу, семью или хобби, что бы ты сказал?" Статистика ---------- .. list-table:: Детальная статистика вопросов :header-rows: 1 :widths: 30 20 20 15 15 * - Раздел - Тем - Вопросов - Мин/тема - Макс/тема * - Самопознание - 6 - 48 - 8 - 8 * - Вектор - 4 - 32 - 8 - 8 * - Вызовы - 4 - 31 - 7 - 8 * - Окружение - 5 - 40 - 8 - 8 * - Интеграция - 5 - 37 - 7 - 8 * - Капсула - 6 - 49 - 8 - 9 * - **Всего** - **30** - **237** - **7** - **9** Формат хранения --------------- Все вопросы хранятся в формате: .. code-block:: python QUESTIONS_SECTION_NAME: Dict[str, List[str]] = { "Название темы": [ "Вопрос 1", "Вопрос 2", # ... ], # ... } Смотрите также -------------- * :doc:`questionary` - Класс для работы с вопросами * :doc:`handlers` - Использование вопросов в диалогах