{
  "format": "rubrick-lesson",
  "formatVersion": 1,
  "exportedAt": "2026-11-06T20:21:12.286Z",
  "source": {
    "lessonId": "00000000-0000-4000-8001-7554c77b2e2c",
    "courseId": "00000000-0000-4000-8000-23eeeb4347bd",
    "courseTitle": "От блоков к Python",
    "ordering": 3,
    "updatedAt": "2026-09-27T10:47:13.291568+00:00"
  },
  "lessonTask": null,
  "lessonTaskSchemaVersion": null,
  "lesson": {
    "schemaVersion": 3,
    "id": "python-03-if",
    "courseId": "python",
    "order": 3,
    "title": "Условия",
    "summary": "Программа выбирает одно из двух",
    "duration": 30,
    "mode": "python",
    "attachments": [],
    "sections": [
      {
        "kind": "intro",
        "body": "Программа выбирает одно из двух\n\n### Чему научишься\n- Написать развилку\n- Понять роль отступа\n- Проверить обе ветки\n\n### Новое\n- Условие — развилка: одно из двух, а не оба сразу\n- Отступ показывает, что относится к ветке\n- else — то, что делается во всех остальных случаях",
        "attachments": [],
        "steps": []
      },
      {
        "kind": "task",
        "body": "Сделай программу, которая ведёт себя по-разному в зависимости от громкости вокруг: в тишине едет, в шуме стоит и ждёт.\n\n### Результат\n- Обе ветки проверены и работают\n- Ты можешь объяснить, что делает отступ",
        "attachments": [],
        "steps": [
          {
            "id": "s1",
            "title": "Прочитай уровень",
            "body": "Получи громкость в переменную.",
            "attachments": []
          },
          {
            "id": "s2",
            "title": "Развилка",
            "body": "Тихо — едем, шумно — стоим.",
            "attachments": []
          },
          {
            "id": "s3",
            "title": "Отступы",
            "body": "Убедись, что тело каждой ветки сдвинуто вправо.",
            "attachments": []
          },
          {
            "id": "s4",
            "title": "Проверь обе",
            "body": "Молча и с шумом — обе ветки должны сработать.",
            "attachments": []
          }
        ],
        "hints": [
          "Выполняется не та ветка? Посмотри на отступы: в Python именно они решают, что внутри условия, а что после него."
        ]
      },
      {
        "kind": "assembly",
        "body": "### Понадобится\n- Настоящий робот с телефоном — нужен микрофон\n\nБазовая платформа: левое колесо в D, правое в C.",
        "attachments": [],
        "steps": []
      },
      {
        "kind": "connection",
        "body": "",
        "attachments": [],
        "steps": []
      },
      {
        "kind": "example",
        "body": "### Что должно получиться\n- Нужен настоящий телефон: микрофон есть только у него",
        "attachments": [],
        "steps": [],
        "program": {
          "mode": "python",
          "python": "robot.configure_drive(wheel_diameter_mm=43.2, track_width_mm=120, left_motor=1, right_motor=2)\n\nfor шаг in range(100):\n    громкость = robot.hear_level()\n    if громкость < 40:\n        robot.screen_text(\"Тихо, еду\")\n        robot.forward_cm(10)\n    else:\n        robot.screen_text(\"Шумно, стою\")\n        robot.stop()\n    robot.wait(0.3)\n"
        }
      },
      {
        "kind": "next",
        "body": "",
        "attachments": [],
        "steps": []
      }
    ],
    "category": "Python",
    "colour": "#FFF200"
  }
}